利用MATLAB将图片转换成coe文件、TXT文件、mif文件
利用MATLAB将图片转换成coe文件
首先,MATLAB是特别强大的数学工具,如果不会MATLAB那么自己的整个职业生涯只能写写接口逻辑,与算法再无关联,很难有长久的进步,所以这里我们将给出几个MATLAB的例子。
我们为什么要将一幅图片转换成coe图片,因为在ISE软件中,我们可以发现ROM中预存的信息格式是coe文件,所以我们要想在ROM存储相应的信息,必须先把文件转换成coe文件。相信同学们也都明白该操作的意义,所以我们这里直接给出代码以供学习交流。
// *********************************************************************************
// Project Name : OSXXXX
// Author : zhangningning
// Email : [email protected]
// Website :
// Module Name : fig.coe
// Create Time : 2020-02-07 15:26:28
// Editor : sublime text3, tab size (4)
// CopyRight(c) : All Rights Reserved
//
// *********************************************************************************
// Modification History:
// Date By Version Change Description
// -----------------------------------------------------------------------
// XXXX zhangningning 1.0 Original
//
// *********************************************************************************
clc;
clear all;
RGB=imread('logo.jpg');
R=RGB(:,:,1);
G=RGB(:,:,2);
B=RGB(:,:,3);
outdata=zeros(1,40000);
for r = 1:200
for c = 1:200
outdata((r-1)*200+c)=bitand(R(r,c),224)+bitshift(bitand(G(r,c),224),-3)+bitshift(bitand(B(r,c),192),-6);
end
end
fid=fopen('data.coe','w+');
fprintf(fid,'memory_initialization_radix=16;\nmemory_initialization_vector=\n');
for i = 1:39999
fprintf(fid,'%x,\n',outdata(i));
end
fprintf(fid,'%x;',outdata(40000));
fclose(fid);
利用MATLAB将图片转换成txt文件
这里也说明一下这样做的原因,例如我们要经过串口发送一幅图片数据时,我们不能直接用UE打开图片,然后将UE中的信息发送出去,因为学过图像处理的同学都应该知道,对于bmp真彩图,图片中含有文件头和信息头与图片信息,对于索引图像更是有索引表,对于常见的jpg压缩图像更使与图片信息没有直接关系。所以我们要利用MATLAB将图片信息提取到txt文件中。弄清楚了该过程的意义之后,我们给出转换的代码如下:
// *********************************************************************************
// Project Name : OSXXXX
// Author : zhangningning
// Email : [email protected]
// Website :
// Module Name : fig.txt
// Create Time : 2020-02-07 15:26:28
// Editor : sublime text3, tab size (4)
// CopyRight(c) : All Rights Reserved
//