MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   Matlab RGB值困境 (https://www.labfans.com/bbs/showthread.php?t=24244)

poster 2019-12-10 20:48

Matlab RGB值困境
 
当我写这些命令时

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



[B]回答:[/B]

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

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

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

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

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

[url=https://stackoverflow.com/questions/4495079]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 01:15

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.