Salve a tutti
Qualche esperto di matlab mi può aiutare??
Sto cercando di simulare il riconoscimento dei contorni utilizzando l'algoritmo di Sobel... comunque...
Questo codice :
%function Sobel(threshold)
f=imread('Finale.jpg');
f=im2double(f);
f1=max(f);
f=max(f1);
figure(1)
subplot(2,3,1), imshow(f);
% Maschere utilizzate
Dx(1,1)=-1; Dx(1,2)=0; Dx(1,3)=1;
Dx(1,1)=-2; Dx(1,2)=0; Dx(1,3)=2;
Dx(1,1)=-1; Dx(1,2)=0; Dx(1,3)=1;
Dx=Dx/8;
Dy(1,1)=1; Dy(1,2)=2; Dy(1,3)=1;
Dy(1,1)=0; Dy(1,2)=0; Dy(1,3)=0;
Dy(1,1)=-1; Dy(1,2)=-2; Dy(1,3)=-1;
Dy=Dy/8;
Dx=conv2(f,Dx,'valid');
Dy=conv2(f,Dy,'valid');
ADx=abs(Dx);
ADx1=max(Adx);
ADx=max(ADx1);
ADy=abs(Dy);
ADy1=max(Ady);
ADy=max(ADy1);
subpolt(2,3,2), imshow(ADx);
subpolt(2,3,3), imshow(ADy);
G=ADx+ADy;
G1=max(G);
G=max(G1);
subplot(2,3,4), imshow(G);
c=complex(Dy,Dx);
theta=angel(c);
theta=abs(theta);
theta1=max(theta);
theta=max(theta1);
subplot(2,3,5), imshow(theta);
%TG=im2bw(G,threshold);
subplot(2,3,6), imshow(TG);
non riesco a farlo funzionare...
Ho commentato la funzione perchè credo sia quella che mi da problemi...
Inoltre ho provato a fare un controllo e mi da problemi questa righe, che dovrebbero esser corrette
Dx=conv2(f,Dx,'valid');
Dy=conv2(f,Dy,'valid');
Ringrazio chiunque mi potrà aiutare...