前言:
老问题,代码超字数,需要代码可以自己网上下载,或者去我的豆瓣看我的代码。
------------------------------------------------------------------------------------------------------------------
matlab;
clc;//清屏
clear all;//清除所有内容
RGB_data = imread('aaa.jpg');//读取某图片的RGB数据,会生成三个二维数组,分别是8位的 RGB的值
R_data = RGB_data(:,:,1);//读取红的RBG值
G_data = RGB_data(:,:,2);
B_data = RGB_data(:,:,3);
[ROW,COL] = size(R_data);//size为函数,计算数组的大小
outdata = zeros(1,ROW*COL);//建立一个一维数组,从1 到 ROW*COL
for r = 1:ROW//for 循环,将对应的二维数组生成一维数组
for c = 1:COL
outdata((r-1)*COL+c) = bitand(R_data(r,c),224) + bitshift(bitand(G_data(r,c),224),-3) + bitshift(bitand(B_data(r,c),192),-6);
end
end
miffile('outdata.mif',outdata,8,ROW*COL);//生成mif文件,数据位宽 ,数据个数
fid = fopen('aaa.txt','w+'); //打开aaa.TXT文件,w+ 表示在保留原来数据的基础上写数据
for i = 1:ROW*COL
fprintf(fid,'%02x ',outdata(i));
end
fclose(fid);
------------------------------------------------------------------------------------------------------------------
总结:
1 数值计算准备
2 减少中间变量
3 matlab很有意思,可以研究一下
4 x,y的切换速度可以与帧速度一致
------------------------------------------------------------------------------------------------------------------
课后作业:
uart+ram+fpga+vga
文章评论(0条评论)
登录后参与讨论