登录论坛

查看完整版本 : Matlab RGB值困境


poster
2019-12-10, 20:48
当我写这些命令时

out = ones(size(ben)) imshow(out) 输出是白色图片,但我希望几乎是深色图片,因为rgb值为1,1,1。当我给255,255,255时,它也给出白色图片。这不是困境吗?



回答:

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

默认情况下, ones()创建一个双精度数组。当imshow()获得双精度数组时,它将假定像素值介于0和1之间,并将白色分配给大于1的任何值。但是,如果将uint8数组传递给imshow() ,它将假定该范围介于0到255之间。

您也可以尝试使用imagesc();而不是imshow() ,但是您可能需要在病房之后对colormap gray以获得灰度图像。

另一种选择是在显示之前重新缩放图像:

imshow(out / max(out(:)));

更多&回答... (https://stackoverflow.com/questions/4495079)