如何在matlab中将16位RGB值转换为8位RGB值?

nma*_*n84 1 matlab

我有RGB数组,它在uint16例子中:

l.r(1) = 63736
Run Code Online (Sandbox Code Playgroud)

如何将其更改为8位(255)格式

我试过uint8(lr(1)),但这给出了错误的结果.

Ale*_*lex 5

您还需要重新调整它:

l.r(1) = 63736;
uint8(l.r ./ 2^8);
Run Code Online (Sandbox Code Playgroud)

如果您有图像处理工具包,则可以使用im2uint8:

RGB1 = imread('image.png');
RGB2 = im2uint8(RGB1)
Run Code Online (Sandbox Code Playgroud)