imshow(pic)和imshow(pic,[])之间的区别

时间:2014-09-27 23:46:26

标签: matlab matlab-figure

我在matlab中有一个关于imshow的简短问题。

imshow(pic)imshow(pic,[])之间有什么区别? 我应该何时使用imshow(pic,[])

1 个答案:

答案 0 :(得分:2)

来自Mathwork的网站(请参阅DisplayRange部分中的here):

  

显示灰度图像的范围,指定为双元素矢量[LOW HIGH]。 imshow将值(低于任何低于低的值)显示为黑色,将值高(以及任何大于高的值)显示为白色。中间的值使用默认的灰度级显示为灰度的中间色调。如果指定一个空矩阵([]),imshow使用[min(I(:))max(I(:))];也就是说,将I中的最小值用作黑色,将最大值用作白色。

假设您有一个最低值为230且最高值为255的图像,如果您执行imshow(img),则会假设所显示图像的最低值为0且最大值为255imshow(img,[]),所以你最终得到(几乎)白色图像。另一方面,如果执行imshow(img,[]),则告诉MATLAB根据图像的最小值和最大值调整显示图像的最小值和最大值。因此,在上面的示例中,调用imshow(img,[230 255])等同于调用{{1}}。这将使您能够看到灰色的中间色调。