我有一个矩阵,其中包含0和0的数据。我想在那个矩阵中找到一组(不是特定的大小)。有可能吗? 提前致谢!
答案 0 :(得分: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