Find easy patterns in a logic vector
Afficher commentaires plus anciens
Hello everyone,
I am a little bit confused performing an easy procedure.
I have a long logic vector, for example:
R = [1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1]
It would be nice to localize this information in smalls groups.
For instance, in this position u have a group of three, here a group of 5, here only one.
Is there any specific command to do that?
Thanks!
Réponse acceptée
Plus de réponses (1)
Image Analyst
le 5 Sep 2012
I'm not sure what you mean by "localize" but maybe you mean "connected components labeling." If you have the Image Processing Toolbox, you can identify each groups of connected 1's with a label number:
R = [1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1]
labeled_R = bwlabel(R)
In the command window, it shows:
labeled_R =
1 0 2 2 0 0 3 3 0 0 0 0 4 4 4 4 4 0 0 5 0 0 6
If you want the indexes of each group (object, or "blob"), then you can call regionprops().
indexes = regionprops(labeled_R, 'PixelIdxList');
Catégories
En savoir plus sur Semantic Segmentation dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!