matlab图片转化为程序,生成8bit位宽的数据表格,可以通过串口发送到后端FPGA的

 

clear all;
clc;

%图片文件名
pic_data  = imread('./test800x600.jpg');  
pic_red    = pic_data(:,:,1);
pic_green  = pic_data(:,:,2);
pic_blue   = pic_data(:,:,3);
[ROW COL]  = size(pic_red);

%对原图像进行处理,将处理完的图像数据写入t800x600.txt
    fid = fopen('./t800x600.txt','w+');
    for r = 1:ROW
        for c =1:COL
            %red取高三位,green取高三位,blue取高两位,拼成8位;
            %串口,一帧数据:8bit,原始图像像素点占24bit
            pic_out(r,c) = bitand(pic_red(r,c),224) + bitshift(bitand(pic_green(r,c),224),-3) + bitshift(bitand(pic_blue(r,c),192),-6);
            fprintf(fid,'%02x',pic_out(r,c));
        end
    end
    fclose(fid);

图片自己网上下载,我自己传上去的可能会变形

 

你可能感兴趣的:(FPGA,matlab)