按顺序对连接的组件进行排序

时间:2014-06-16 10:00:28

标签: sorting image-processing bounding-box

我在某种连接组件中有一个问题。我有一个二进制图像(仅0和1)我从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);

假设他们给了我马克思:

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

但是你可以看到,在这个结果中,矩阵的顺序是在列之后。现在我想把它改成奥德行,这意味着数字4是2,数字5是3 ......等等。 奥得河是 - >右和上 - >下。我怎么能这样做(读书的奥德尔)??

非常感谢

1 个答案:

答案 0 :(得分:1)

f=f';
[L num]=bwlabel(f);
L=L';

这可以解决您的问题吗?