1

我正在使用 MATLAB 进行图像处理,并且遇到了带有指令的代码:

imshow(pixel_labels,[]); 

执行时它会给出一个二进制图像。

我在 Mathworks.com 上查看了该函数的手册,最相似的使用模式是

imshow(I,[low,high]);

但他们没有说该数组为空的情况([]

我试图删除它:

imshow(pixel_labels); 

但我看到的只是一块白板。我想知道第一个用例(imshow(pixel_labels,[]))中发生了什么,我希望从那里我能理解为什么我在最后一个用例中得到一个白板。

4

1 回答 1

2

如果我help imshow在 MATLAB 中输入,第一段内容如下:

IMSHOW(I,[LOW HIGH]) 显示灰度图像 I,在 [LOW HIGH] 中指定 I 的显示范围。值 LOW(以及任何小于 LOW 的值)显示为黑色,值 HIGH(以及任何大于 HIGH 的值)显示为白色。中间的值显示为中间灰度,使用默认的灰度级数。如果您对 [LOW HIGH] 使用空矩阵 ([]),则 IMSHOW 使用 [min(I(:)) max(I(:))]; 即I中的最小值显示为黑色,最大值显示为白色。

so[]只是 . 的简写[min(pixel_labels(:)) max(pixel_labels(:))]

于 2013-09-05T14:04:55.900 回答