matlab rgb值进退两难

时间:2010-12-20 23:45:06

标签: matlab

当我写这些命令时

out = ones(size(ben))
imshow(out)

输出是一张白色图片,但我希望看起来几乎是黑暗的图片,因为rgb值是1,1,1。当我给255,255,255它也给出了白色图片。这不是一个两难的局面吗?

1 个答案:

答案 0 :(得分:3)

尝试out = ones(size(ben), 'uint8');

默认情况下,

ones()会创建一个双精度数组。当imshow()获取双精度数组时,它假定像素值的范围介于0和1之间,并将白色指定为大于1的任何值。但是,如果将uint8数组传递给{{ 1}}它将假设范围在0到255之间。

您也可以尝试使用imshow()代替imagesc();,但您可能需要在病房后imshow()获取灰度图像。

另一种方法是在显示前重新缩放图像:

colormap gray