1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| img = imread('coins.png'); % lire l'image désirée pour extraire les régions
bw = im2bw(img); % conversion dans une image binaire - fonction im2bw
bw = ~bw; % inversion des pixels (de l'image coins.png) blanc => noir et vice-versa
[labels, nbLabels] = bwlabel(bw); % étiquetage des régions à l'aide de la fonction bwlabel
% region=1 et vide=0
figure, imshow(bw); % affichage image binaire
region_extrait = regionprops(labels,'BoundingBox'); % fonction regionprops pour extraire les régions
%% Méthode 1
for i=1:nbLabels
coupe = imcrop(labels,region_extrait(i).BoundingBox);
figure, imshow(coupe);
end
%% Méthode 2
for i=1:nbLabels
[r,c] = find(labels==i); % on sais la ligne et la colonne des pixels de la région
n1 = labels(min(r):max(r),min(c):max(c)); % sélection de la ligne min et max pour la région
disp(n1)
end
%% Méthode 3
for i=1:nbLabels
[r,c] = find(labels==i); % la ligne et la colonne des pixels de la région
coupe2 = imcrop(labels,[min(c) min(r) max(c)-min(c) max(r)-min(r)]); % sélection de la ligne min et max pour la région
disp(coupe2)
end |
Partager