Sorting the connected component

4 vues (au cours des 30 derniers jours)
Tran Tuan Anh
Tran Tuan Anh le 16 Juin 2014
Commenté : Zikobrelli le 16 Juin 2014
I have a question in sort of connected component. I have a binary image ( onlye 0 and 1) I run the function from matlab: f=
1 0 0 1 0 0 0 1 0 0
1 1 0 1 1 1 0 0 1 0
0 0 0 0 0 0 0 1 1 1
1 0 0 0 1 0 1 0 1 1
1 1 0 0 0 0 0 1 1 1
0 0 0 1 0 0 1 0 0 0
0 0 0 1 0 1 1 0 1 1
1 1 0 0 1 0 0 0 1 0
1 1 0 1 1 1 0 1 0 0
1 1 0 0 1 0 0 0 1 0
[L num]=bwlabel(f);
suppose that they give me the ma trix:
1 0 0 4 0 0 0 5 0 0
1 1 0 4 4 4 0 0 5 0
0 0 0 0 0 0 0 5 5 5
2 0 0 0 6 0 5 0 5 5
2 2 0 0 0 0 0 5 5 5
0 0 0 5 0 0 5 0 0 0
0 0 0 5 0 5 5 0 7 7
3 3 0 0 5 0 0 0 7 0
3 3 0 5 5 5 0 7 0 0
3 3 0 0 5 0 0 0 7 0
But you can see in this resul, the order of matrix is follow the column. Now I want to change this in to the oder rows, that mean number 4 is 2 , number 5 is 3... so on. The oder is left-> right and top -> down. How can I do that ( the oder of reading )??
Thank you so much
  1 commentaire
Zikobrelli
Zikobrelli le 16 Juin 2014
look at the functions flipud and fliplr.
L1=flipud(fliplr(L))

Connectez-vous pour commenter.

Réponses (1)

Jos (10584)
Jos (10584) le 16 Juin 2014
Use transpose
[L, num] = bwlabel(transpose(f))
L = transpose(L)
% or use the .' notation to transpose
  2 commentaires
Tran Tuan Anh
Tran Tuan Anh le 16 Juin 2014
I'm sorry It doesn't solve my problem, because if I use this way with the image:
The firt - second - third connected component is:F -S -l like this figure:
It's wrong, because I want the order of 1-2-3-... is H - a - w-a -(point of I) - (point of I) - dash-i -i -s...
Sean de Wolski
Sean de Wolski le 16 Juin 2014
Modifié(e) : Sean de Wolski le 16 Juin 2014
That's because the top of the S, L and F is higher than the lowercase letters.
You could sort the centroids of the connected components ( bwconncomp ) after calling regionprops and then reorder the output before calling labelmatrix.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by