我正在使用MATLAB进行图像处理,我遇到了一条带有指令的代码:
imshow(pixel_labels,[]);
执行时会给出二进制图像。
我已经在Mathworks.com上查看了该功能的手册,最相似的使用模式是
imshow(I,[low,high]);
但他们没有说明该数组为空([]
)
我试图删除它:
imshow(pixel_labels);
但我看到的只是一块白板。我想知道第一个用例(imshow(pixel_labels,[])
)中发生了什么,我希望从那里我能理解为什么在最后一个用例中得到一个白板。
答案 0 :(得分:2)
如果我在MATLAB中输入help imshow
,第一段写着:
IMSHOW(I,[LOW HIGH])显示灰度图像I,指定 显示 I的范围为[LOW HIGH]。值LOW(以及任何小于LOW的值) 显示为黑色,显示值HIGH(以及任何大于HIGH的值) 像白色。中间的值显示为灰色的中间色调, 使用默认的灰度级数。如果你使用空矩阵([]) [LOW HIGH],IMSHOW使用[min(I(:))max(I(:))];也就是说,最小值 我显示为黑色,最大值显示为白色。
所以[]
只是[min(pixel_labels(:)) max(pixel_labels(:))]
的缩写。