superimpose quiver plot onto image

7 visualizaciones (últimos 30 días)
Philip
Philip el 21 de Feb. de 2011
Respondida: Sulaymon Eshkabilov el 20 de Mayo de 2021
Hi,
Does anyone know a way of superimposing the gradient vector field of an image onto the image itself? As far as I can tell, the "quiver" function should allow this, but I cannot get it to work... it just shows a blue figure. This is the code I am using:
img = imread('bubbles.jpg');
ycbcr = rgb2ycbcr(img);
lum = ycbcr(:,:,1);
[gx gy] = gradient(lum);
figure('name','Gradient');
imshow(dens,[],'InitialMagnification','fit');
hold on;
quiver(gx(1:r,1:c),gy(1:r,1:c));
title('Gradient Field');
Thanks for any help you are able to give me.

Respuestas (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov el 20 de Mayo de 2021
Here is the complete solution script:
img = imread('Bubble0.jpg');
GI = rgb2gray(img);
[gx, gy] = gradient(double(GI), .5, .5);
[r, c, LA]=size(img);
figure('name','Gradient');
imshow(img(1:r,1:c),'InitialMagnification','fit');
hold on;
quiver(gx(1:r,1:c),gy(1:r,1:c), 1);
title('Gradient Field');
figure
quiver(gx(1:r,1:c),gy(1:r,1:c), 10);
title('Gradient Field')

Categorías

Más información sobre Vector Fields en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by