How to split a Connected Component into components , after following particular criteria.????

2 Ansichten (letzte 30 Tage)
Hi, After decomposing binary image into different connected components, I want extract each connected component and split a connected component if it has particular number of pixels in it. So that total number of connected components are increased....Is there any way to do that...

Akzeptierte Antwort

Matt J
Matt J am 3 Jan. 2018
Bearbeitet: Matt J am 3 Jan. 2018
Sure. Just loop over CC(i) and use the CC(i).PixelIdxList field to determine the number of components and to apply your splitting criterion. At the very end, modify all the CC(i).NumObjects values.
  5 Kommentare
Mohammad Bhat
Mohammad Bhat am 5 Jan. 2018
Sir, one problem occurred , You have taken example of dividing a connected component into two, How we can do for general (e.g. 3,4,5,....), becuase in pixelhalf1 = pixellist(1:floor(end/2)); pixelhalf2 = pixellist(floor(end/2)+1:end);
How we can tune above statements..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Mohammad Bhat
Mohammad Bhat am 5 Jan. 2018
pixellist = CC.PixelIdxList{k};
pixelhalf1 = pixellist(1:floor(sizes(k)/2));
pixelhalf2 = pixellist(floor(sizes(k)/2)+1:sizes(k));
CC.PixelIdxList{k} = pixelhalf1;
CC.PixelIdxList{k+1} = pixelhalf2;
But it is not reflected in original image......

Mohammad Bhat
Mohammad Bhat am 5 Jan. 2018
Here , I have two connected component, I decomposed one of the connected component into two, but it is not reflected in the original image...

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by