matlab怎样把一个RGB888图像转换成RGB565,并显示和保存?

2025-03-13 05:33:58
推荐回答(1个)
回答1:

clc
clear
[a,map] = imread('.\ICON\weathy_02.png');
R1 = a(:,:,1);
G1 = a(:,:,2);
B1 = a(:,:,3);
R2 = uint16(R1);
G2 = uint16(G1);
B2 = uint16(B1);

b = uint16(zeros(32,32));
b = bitor(bitand(bitshift(R2,8),63488),b); %十进制 63488 为二进制 11111000 00000000
b = bitor(bitand(bitshift(G2,3),2016),b); %十进制 2016 为二进制 00000111 11100000
b = bitor(bitand(bitshift(B2,-3),31),b); %十进制 31 为二进制 00000000 00011111