RGB565转换为RGB88,并作线性补偿

1、matlab下,通过读取txt文件中的RGB565格式的像素文件,从中解析出RGB888像素,并作线性补偿后绘图。代码如下:

clear all;
close all;
a=textread('rst565.txt','%s')';%以字符形式打开文件
Images_Dec=hex2dec(a)'; %16进制转化为10进制数,存入Images_Dec矩阵


A=zeros(288,720);
for i=1:288
    for j=1:720
        A(i,j)=Images_Dec((i-1)*720+j);
    end
end


imgR = bitor(uint8(bitshift(bitand(A,63488),-8)) , uint8(bitshift(bitand(A,14336),-11)));  %# Red component
imgG = bitor(uint8(bitshift(bitand(A,2016),-3)) , uint8(bitshift(bitand(A,96),-5)));   %# Green component
imgB = bitor(uint8(bitshift(bitand(A,31),3)) , uint8(bitand(A,7)));      %# Blue component
im888 = cat(3,imgR,imgG,imgB);
imshow(im888);


rst565.txt中文件的内容如下:

RGB565转换为RGB88,并作线性补偿