Probleme detection des contours matlab

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
Configuration: Windows Vista
Firefox 3.0.8

2 réponses

  1. 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
    1. 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