Matlab imshow(someImage,[])是做什么的?

Matlab imshow(someImage,[])是做什么的?,matlab,Matlab,我试图找出Matlab中imshow(someImage,[])中的第二个(空向量)参数是什么 根据doc imshow,它要么是一个彩色贴图,要么是一个宽度/高度范围,但这两个对我来说都没有意义,因为向量是空的。带空括号的imshow将显示最小值和最大值之间的范围。例如,如果图像为16位,最大值为65536,但如果实际像素值停止在1000,imshow(图像)将显示为黑色(因为即使65536上的1000也很小)。如果使用imshow(图像,[]),则显示将在0和1000之间调整 这与: min

我试图找出Matlab中
imshow(someImage,[])
中的第二个(空向量)参数是什么


根据
doc imshow
,它要么是一个彩色贴图,要么是一个宽度/高度范围,但这两个对我来说都没有意义,因为向量是空的。

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

这与:

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

help imshow
中的文档描述了以下语法:

imshow(I,[LOW-HIGH])
显示灰度图像
I
,指定显示
[低-高]
中的
I
范围。值
LOW
(以及小于
LOW
的任何值) 显示为黑色,值
(以及大于
的任何值)显示 像白色一样。介于两者之间的值显示为中间灰度, 使用默认的灰度级别数如果将空矩阵(
[]
)用于
[低-高]
imshow
使用
[最小(I(:))最大(I(:)]
;即中的最小值 I显示为黑色,最大值显示为白色。


那么这是某种直方图均衡化吗?不是。它只改变imshow函数的动态范围。例如,如果除65000处的一个点外,所有数据点都在0到1000之间,则显示范围仍将在0到65000之间。