在 MATLAB 中显示梯度图像的颤动图

2024-01-04

我有一个形象。我想显示使用 MATLAB 中的梯度函数获得的梯度图像的颤动图,最好叠加在梯度图像上。

I = imread('image.png');
[gx,gy] = gradient(double(rgb2gray(I)));
g = abs(gx) + abs(gy);
figure;
imshow(g, []);
hold on;
quiver(abs(gx),abs(gy));

这就是我尝试过的,我得到的只是完全蓝色的显示。


我想你看到的只是箭头,但它们靠得太近了。 如果绘制两个图(imshow(g) and quiver)分别,它们显示正常。 imshow 仅显示没有任何缩放的像素,如果您修复该问题(使其缩放),箭袋箭头之间也会有更多的空间并变得可见。 您可以通过添加来做到这一点'InitialMagnification','fit'imshow 选项:

imshow(g,'InitialMagnification','fit')

或者你可以显示更少的箭袋箭头:

figure;
imshow(g, []);  % [] to display image properly     
hold on;

[Nx, Ny] = size(g);
xidx = 1:10:Nx;
yidx = 1:10:Ny;
[X,Y] = meshgrid(xidx,yidx);
quiver(Y',X',abs(gx(xidx,yidx)),abs(gy(xidx,yidx)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MATLAB 中显示梯度图像的颤动图 的相关文章

随机推荐