hier sind die Befehle, die Ihre Arbeit einfach macht ...
Als "Superbest", sagte das Bild mit dem Befehl
%% Example%%
img = imread('coins.png');
BW4 = im2bw(img);
BW5 = imfill(BW4,'holes');
imshow(BW4), figure, imshow(BW5);
Jetzt Befehl bwlabeln verwenden
füllen() , um die Anzahl der Cluster oder Formen herauszufinden. %% Example%%
L = bwlabel(BW5);
figure,imshow(L,[]);
L geben Ihnen Anzahl von Formen mit der gleichen Anzahl an allen Pixeln zu gleichen Form gehört. L enthält Labels für die verbundenen Komponenten in BW. BW kann jede Dimension haben; L hat die gleiche Größe wie BW. Die Elemente von L sind ganzzahlige Werte größer oder gleich 0. Die mit 0 bezeichneten Pixel sind der Hintergrund. Die mit 1 bezeichneten Pixel bilden ein Objekt, die mit 2 bezeichneten Pixel bilden ein zweites Objekt und so weiter.
Angenommen, Sie zwei Formen oder Regionen haben dann od die ursprüngliche Farbe oder Grauwerte zu finden, wie folgt.
%% Example%%
cods = find(L==1);
Shape1(1:size(img,1),1:size(img,2))=0;
Shape1(cods) = img(cods);
%% Now shape1 is same size as img, but will have gray scale values at region1 locations only,you will get RGB valuse in shape1 image.. repeate it for as many shapes as you have in your image.
Haben Sie eine glückliche Codierung ...
+1 für die Verwendung von 'bwlabel()'. –