我想讀取圖像 - 圓形圖片,並計算該圖像的梯度矢量場(即矢量均勻地指向圓的法線方向)。我的邏輯是沒有了我一下,但我有:計算圖像的梯度矢量場
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? –