由于工作需要,需要将8位彩色bmp图片转换成mif文件存入rom里,因此自己写了一个将bmp图片转换成mif文件的MATLAB小程序。
1、得到bmp图片
我在网上下载了一个640*480的JPG图片。
然后我使用的方法是用Image2Lcd软件http://download.csdn.net/detail/qq1647243511/9651669
打开该图片,并设置两个输出图片属性。
然后点保存即可。
2、bmp图片转换成mif文件
Matlab程序如下:
clear; clc; n=307200;%640*480 mat = imread('chuyin1.bmp');%读取.bmp文件 fid=fopen('convert_data.mif','w');%打开待写入的.mif文件 fprintf(fid,'WIDTH=8;\n');%写入存储位宽8位 fprintf(fid,'DEPTH=307200;\n');%写入存储深度307200 fprintf(fid,'ADDRESS_RADIX=UNS;\n');%写入地址类型为无符号整型 fprintf(fid,'DATA_RADIX=HEX;');%写入数据类型为16进制 fprintf(fid,'CONTENT BEGIN\n');%起始内容 for i=0:n-1 x = mod(i,640)+1; y = fix(i/640)+1; k = mat(y,x); fprintf(fid,'\t%d:%x;\n',i,k); end fprintf(fid,'END;\n'); fclose(fid);%关闭文件