MATLAB中max(max(L))的含义是什么?

2 matlab

MATLAB中的以下代码是什么意思?

L = bwlabel(B,8)
mx= max(max(L))
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Jon*_*nas 8

max默认情况下,沿第一个非单一维度获取数组的最大值.如果L是一个2D数组(应该给你调用它bwlabel),第一次调用会max折叠第一个维度,这样只有一行具有列最大值,第二个调用会折叠第二个维度,因此只有最左边的标量.在这个例子中,max(max(L))相当于max(L(:))

由于bwlabel执行连通分量标记(即用唯一的连续整数标记每个连接的像素组),因此会mx告诉您图像中像素组的数量.

编辑

正如@gnovice在注释中提到的那样,指定的最高标签将bwlabel作为其第二个输出参数返回:[L,mx] = bwlabel(B,8);

  • 还应注意,在该示例中不需要计算mx.通过从BWLABEL获取第二个输出,您可以轻松获得连接组件的数量,如下所示:[L,mx] = bwlabel(B,8); (5认同)