4

我试图弄清楚imshow(someImage, [])Matlab 中的第二个(空向量)参数的用途。

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

4

2 回答 2

7

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

它与以下内容相同:

minValue = min(min(image));
maxValue = max(max(image));
imshow(image,[minValue maxValue]);
于 2013-10-09T19:20:51.250 回答
2

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

imshow(I,[LOW HIGH])显示灰度图像I,指定Iin的显示范围[LOW HIGH]。值LOW(和任何小于 的值LOW)显示为黑色,值HIGH(和任何大于 的值HIGH)显示为白色。中间的值显示为中间灰度,使用默认的灰度级数。如果对 使用空矩阵 ( []) [LOW HIGH],则imshow使用[min(I(:)) max(I(:))]; 即I中的最小值显示为黑色,最大值显示为白色。

于 2013-10-09T19:57:04.810 回答