我想读取图像 - 圆形图片,并计算该图像的梯度矢量场(即矢量均匀地指向圆的法线方向)。我的逻辑是没有了我一下,但我有:计算图像的梯度矢量场
clear all;
im = im2double(imread('littlecircle.png'));
im = double(im);
[nr,nc]=size(im);
[dx,dy] = gradient(im);
[x y] = meshgrid(1:nc,1:nr);
u = x;
v = y;
quiver(x,y,u,v)
如果我根本就上述情况,我得到一个矢量场,但它仅仅是一个空的网格的梯度(即只是一个矢量场的梯度y = x)。我真正想要的是使用
[dx,dy] = gradient(im);
检测图像中的圆的边缘,然后计算梯度矢量场,由于图像中的圆。显然,赋值u = x和v = y只会给我一个直线的向量场 - 所以基本上,我想将图像的梯度嵌入向量u和v中。我该怎么做?
您可以发布littlecircle.png? –