Bonjour à tous
j'ai un problème depuis une semaine et j'ai pas arrivé à trouver une solution et je compte énormément sur votre aide.
J'ai besoin d'un code en matlab qui me permet de détecter le voisinage de chaque objets étiqueté dans une image binaire. En effet je voulais enregistrer chaque voisin trouvé de l'objet d’intérêt dans une structure car je voudrais après calculer le barycentre des voisins de chaque objet.
Par exemple pour l'objet d'étiquette 3 ses voisins seront les objets d'étiquettes 5 et 7.
j'ai commencé avec ce code:mais ce code ne m'affiche pas le bon résultatCode:%%%%%%%%%%%%%%%%##################Extraction des zones d'interet dans l'image binaire [nb,C]=i4mat_components (w, h,I);%%Décomposition en composantes annexes: la fonction retourne C: la matrice des labels et nb : le nombre des objets dans l'image %%%La boucle suivante permet de determiner la matrice des vecteurs %%%caractéristiques de chaque objets. for i=1:nb %[r,c]=find(C==i); %A=zeros(r,c); % A=[r,c]; A=zeros(size(C)); A(C==i)=1; % figure,imagesc(A) [M]=feature_vec(A); % Ap=double (A); %ici commence le code qui m'interesse labelled(:,i )=i; % assume labelled array is called "labelled" label = i; % label of object to find neighbours of object = labelled == label; se = ones(3); % 8-connectivity for neighbours - could be changed neighbours = imdilate(object, se) & ~object; neighbourLabels = unique(labelled(neighbours)); disp(neighbourLabels); B(:,i )= abs(M); end;
j'espère que vous pouvez m'aidez et merci d'avance
-----