【发布时间】:2014-09-28 17:46:54
【问题描述】:
我对 matlab 中的 imshow 有一个非常简短的问题。
imshow(pic) 和 imshow(pic,[]) 有什么区别?
我什么时候应该使用imshow(pic,[])?
【问题讨论】:
标签: matlab matlab-figure
我对 matlab 中的 imshow 有一个非常简短的问题。
imshow(pic) 和 imshow(pic,[]) 有什么区别?
我什么时候应该使用imshow(pic,[])?
【问题讨论】:
标签: matlab matlab-figure
来自 Mathwork 的网站(请参阅 DisplayRange 部分中的 here):
灰度图像的显示范围,指定为二元素向量[LOW HIGH]。 imshow 将值 low(和任何小于 low 的值)显示为黑色,将值 high(和任何大于 high 的值)显示为白色。中间的值显示为中间灰度,使用默认的灰度级数。如果您指定一个空矩阵 ([]),imshow 使用 [min(I(:)) max(I(:))];即以I中的最小值为黑色,最大值为白色。
假设你有一张图片,它的最小值是 230,最大值是 255,如果你做imshow(img),它会假设显示图像的最小值是0,最大值是255 ,所以你最终得到一个(几乎)白色的图像。另一方面,如果您执行imshow(img,[]),则告诉 MATLAB 根据图像的最小值和最大值调整显示图像的最小值和最大值。因此,在上面的例子中,调用imshow(img,[]) 等价于调用imshow(img,[230 255])。这将使您能够看到中间的灰色阴影。
【讨论】: