我有一个包含 0 和 1 数据的矩阵。我想在该矩阵中找到一组(不是特定大小)。有可能吗?提前致谢!
问问题
56 次
1 回答
2
如果您的意思是要查找矩阵中的所有“连接组件”,例如BW
,只需使用:
BW = logical([1 1 1 0 0 0 0 0
1 1 1 0 1 1 0 0
1 1 1 0 1 1 0 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 0 1 0
1 1 1 0 0 1 1 0
1 1 1 0 0 0 0 0]);
L = bwlabel(BW,4) %Result
这将产生:
L =
1 1 1 0 0 0 0 0
1 1 1 0 2 2 0 0
1 1 1 0 2 2 0 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 0 3 0
1 1 1 0 0 3 3 0
1 1 1 0 0 0 0 0
现在,如果您想查找各个组的大小:
for ii=1:max(L(:))
length_vector(ii)=length(find(L==ii));
end
length_vector
这给了你:
length_vector =
24 4 5
于 2013-04-06T11:29:39.580 回答