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

Zikobrelli
Zikobrelli 2014년 6월 16일
look at the functions flipud and fliplr.
L1=flipud(fliplr(L))

댓글을 달려면 로그인하십시오.

답변 (1개)

Jos (10584)
Jos (10584) 2014년 6월 16일

1 개 추천

Use transpose
[L, num] = bwlabel(transpose(f))
L = transpose(L)
% or use the .' notation to transpose

댓글 수: 2

Tran Tuan Anh
Tran Tuan Anh 2014년 6월 16일
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 2014년 6월 16일
편집: Sean de Wolski 2014년 6월 16일
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.

댓글을 달려면 로그인하십시오.

질문:

2014년 6월 16일

댓글:

2014년 6월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by