Probleme detection des contours matlab

Fermé
onetarik Messages postés 6 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 19 avril 2009 - 19 avril 2009 à 14:26
 ledarou - 12 mai 2014 à 10:44
Bonjour,
j'ai un probleme lorsque je veux utilisé la fonction 'edge' sur matlab pour la detection des contours
la lecture de l'image se fait normalement mais a l'appelle de edge il me donne l'erreur suivante:


>> I=imread('RADIO.png');
>> BW1= edge(I,'sobel');
??? Error using ==> iptcheckinput
Function EDGE expected its first input, I, to be two-dimensional.

Error in ==> edge>parse_inputs at 564
iptcheckinput(I,{'numeric'},{'nonsparse','2d'},mfilename,'I',1);

Error in ==> edge at 197
[a,method,thresh,sigma,thinning,H,kx,ky] = parse_inputs(varargin{:});

Si kelk 1 peut 'aider c urgent
merci

2 réponses

Salut ,

je ne fais que passer. Vu que ton sujet date, tu l'as peut être déjà résolu.

Il faut que ton image soit en niveau de gris donc tu fais:

I=imread('RADIO.png');
Im=im2gray(I);
BW1= edge(Im,'sobel');

et ca devrait être bon

voila
2
im2gray n'existe pas (dans la librairie standard que j'ai en tout cas) il faut mettre rgb2gray et là ca fonctionne ;)

I=imread('RADIO.png');
Im=rgb2gray(I);
BW1= edge(Im,'sobel');
1