原创 【西西学FPGA】Lesson12

2016-4-11 14:23 914 12 12 分类: FPGA/CPLD

前言:

老问题,代码超字数,需要代码可以自己网上下载,或者去我的豆瓣看我的代码。
------------------------------------------------------------------------------------------------------------------
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条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条