How to compute regions of matrix
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sepp
le 13 Mai 2014
Réponse apportée : Jos (10584)
le 13 Mai 2014
Hi all
Let's say we have the following matrix:
0 0 0 0 0 0
0 1 0 0 0 0
1 1 0 0 0 0
1 1 0 0 0 0
0 0 0 0 0 0
0 0 0 1 1 1
0 0 0 0 1 1
0 0 0 0 0 0
I want to calculate the size of every connected region of 1s and also get the corresponding matrix elements of each region. The size should be computed as (width + heigth) / 2.
In the example the bottom left region would have size (2 + 3) / 2 and the bottom right region would have size (3 + 2) / 2.
Additional to the size of the regions I also want the corresponding entries of the regions, i.e. region 1 has entries (2,2), (3,1), (3,2) and so on.
How can this be done in Matlab?
I'm looking forward for the answers and wish everybody all the best.
0 commentaires
Réponse acceptée
Jos (10584)
le 13 Mai 2014
Trivial, provided you have the image processing toolbox. Take a look at BWLABEL and REGIONPROPS
M = [ 0 0 0 0 0 0
0 1 0 0 0 0
1 1 0 0 0 0
1 1 0 0 0 0
0 0 0 0 0 0
0 0 0 1 1 1
0 0 0 0 1 1
0 0 0 0 0 0]
P = regionprops(bwlabel(M),'boundingbox')
The last two values of the field BoudingBox will give you the height and the width of each connected region.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur NaNs dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!