Chcę odczytać obraz - obrazek koła i obliczyć gradientowe pole wektorowe tego obrazu (tj. Wektory wskazujące równomiernie i normalnie na okrąg). Moja logika zawodzi mnie trochę, ale mam:Oblicz gradientowe pole wektorowe obrazu
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)
gdybym po prostu nie wyżej, mam pole wektorowe, ale to jest po prostu gradient pustej siatki (czyli tylko pola wektorowego gradientu y = x). Co faktycznie chcę jest użycie
[dx,dy] = gradient(im);
do wykrywania krawędzi okręgu na obrazie, a następnie obliczyć pole wektorowe gradientu ze względu na kole w obrazie. oczywiście, przypisanie u = x i v = y da mi tylko pole wektorowe linii prostej - tak w zasadzie chcę osadzić gradient obrazu w wektorach u i v. Jak to zrobić?
można zakładać littlecircle.png? –