0

我有一个包含 0 和 1 数据的矩阵。我想在该矩阵中找到一组(不是特定大小)。有可能吗?提前致谢!

4

1 回答 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 回答