`imshow(someImage,[])`做什么?

时间:2013-10-09 19:10:13

标签: matlab

我想弄清楚Matlab中imshow(someImage, [])中的第二个(空向量)参数是什么。

根据doc imshow,它可以是彩色地图,也可以是宽度/高度范围,但由于矢量为空,因此这些都不合理。

2 个答案:

答案 0 :(得分:6)

使用空括号imshow将显示最小值和最大值之间的范围。例如,如果您的图像是16位,则最大值为65536,但如果您的实际像素值停止在1000,则imshow(图像)将显示为黑色(因为即使1000以上的65536也很小)。如果使用imshow(图像,[]),则显示将在0到1000之间调整。

与以下内容相同:

minValue = min(min(image));
maxValue = max(max(image));
imshow(image,[minValue maxValue]);

答案 1 :(得分:2)

help imshow中的文档描述了这种语法:

  

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