标题:多值连通区域标记
只看楼主
ymqq
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:141
专家分:143
注 册:2010-7-14
结帖率:73.33%
 问题点数:0 回复次数:1 
多值连通区域标记
请问多值连通区域应该如何标记?用bwlabel只能求二值的连通区域标记。
a=
[
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 1 3 1 1 1 1 1
1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 1 2 2 1 1 1 1 1 2 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 4 4 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 4 4 1 1 1 1 1 1 1 1 1 1 1 3 3 1 1 1 1 1
1 1 1 1 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
]
我想把这样的矩阵做连通区域标记,应该如何进行?
要注意的是,其中有一片被2包围的1要和其他的1标记不同。
搜索更多相关主题的帖子: 如何 
2013-04-08 16:04
ymqq
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:141
专家分:143
注 册:2010-7-14
得分:0 
程序代码:
I=[
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1  
 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1  
 1 1 2 1 1 1 1 1 1 2 1 1 3 1 1  
 1 1 2 1 1 1 1 1 1 2 1 1 3 1 1 
 1 1 2 1 1 1 1 1 1 2 1 1 3 1 1  
 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1  
];
[m,n]=size(I);
for i=1:m
    for j=1:n
        root(i,j)=(i-1)*n+j;
    end
end
for i=1:m
    for j=1:n
         if(i>1&&j<n)
             if(I(i-1,j+1)==I(i,j)) root(i,j)=root(i-1,j+1);
             end
         end
         if(j<n)
             if(I(i,j+1)==I(i,j)) root(i,j+1)=root(i,j);
             end
         end
         if(i<m)
             if(I(i+1,j)==I(i,j)) root(i+1,j)=root(i,j);
             end
         end
         if(i<m&&j<n)
             if(I(i+1,j+1)==I(i,j))  root(i+1,j+1)=root(i,j);
             end
         end
    end
end
root
a=unique(root)'
2013-04-08 16:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-403330-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.802343 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved