Matlab12b函数的难点imshow()

时间:2013-09-05 14:00:20

标签: image matlab image-processing

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

imshow(pixel_labels,[]); 

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

我已经在Mathworks.com上查看了该功能的手册,最相似的使用模式是

imshow(I,[low,high]);

但他们没有说明该数组为空([]

的情况

我试图删除它:

imshow(pixel_labels); 

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

1 个答案:

答案 0 :(得分:2)

如果我在MATLAB中输入help imshow,第一段写着:

  

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

所以[]只是[min(pixel_labels(:)) max(pixel_labels(:))]的缩写。