MATLAB中的以下代码意味着什么?
L = bwlabel(B,8)
mx= max(max(L))
任何想法?
答案 0 :(得分:8)
max
采用沿第一个非单一维度的数组的最大值。如果L
是一个2D数组(在您调用bwlabel
时它应该是这个数组),第一次调用max
会折叠第一个维度,因此只有一行包含最大列,第二个调用折叠第二个维度,因此只剩下一个标量最大值。在此示例中,max(max(L))
相当于max(L(:))
由于bwlabel
执行连通分量标记(即用唯一的连续整数标记每个连接的像素组),mx
会告诉您图像中像素组的数量。
修改强>
正如@gnovice在评论中提到的那样,bwlabel
分配的最高标签将作为其第二个输出参数返回:[L,mx] = bwlabel(B,8);
答案 1 :(得分:4)
bwlabel
返回连接组件的2D矩阵。这样的嵌套max()
返回2D矩阵中的单个最大值,因此找到了最高的组件。