Détecter les contours d'une imager sans EDGE

Fermé
maromary - 20 déc. 2012 à 17:06
Bonjour,
J'essai d'écrire un code sous matlab permettent de détecter les contours de l'image suivant l'horizontal, l vertical et puis dans les deux directions en utilisant le filtre de sobel Mais sans utiliser la fontion" EDGE " mais g pas eu le bon résultat voulu,, Pouvez-vous m'aider à corriger mon code?
Merci d'avance :)

Voilà le code si-dessous:

function Contour()
clear,close all
clc
I=imread('pout.tif')
Gx=[-1,0,-1;-2,0,2;-1,0,1]
Gy=[1,2,1;0,0,0;-1,-2,-1]
G=sqrt((Gx^2)+(Gy^2))
horiz=conv2(double(I),Gx,'same');
vert=conv2(double(I),Gy,'same');
somme=conv2(double(I),G,'same');
figure,
subplot(2,2,1)
imshow(uint8(I))
subplot(2,2,2)
imshow(uint8(horiz))
subplot(2,2,3)
imshow(vert)
subplot(2,2,4)
imshow(uint8(somme))
end