本文主要是介绍基于matlab的彩色图像点阵提取小工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在做嵌入式交互界面开发时,比较常用的显示屏便是TFT屏。
为了自定义显示自己喜欢的彩色图片,可以借助matlab软件,编写一个彩色图片点阵提取工具。自己动手,丰衣足食。这样便可以根据需要自己修改程序,实现更多的功能。
环境:matlab2013a
function image2Lattice(src)
%彩色图片点阵提取算法5R6G5B
%亲测可用
image = imread(src);
r = image(:,:,1);
g = image(:,:,2);
b = image(:,:,3);
r = (r - 4)/8;
g = (g - 2)/4;
b = (b - 4)/8;
r = uint16(r);
g = uint16(g);
b = uint16(b);
p = r * 2048 + g * 32 + b;
[width,height] = size(p);
%右移8位
high8 = uint8(bitshift(p,-8));
%取低8位
low8 = uint8(bitand(p,uint16(255)));
for i = 1:heightresult(:,i*2 - 1) = low8(:,i);result(:,i*2) = high8(:,i);
end
out = result';
%此处为文件操作
[filename,pathname]=uiputfile('*.txt','请选择文件存放路径');
[versn,name,ext]=fileparts(filename);
filename1=strcat(name,'Lattice',ext);
f=fullfile(pathname,filename1);
fid = fopen(f,'wt');
fprintf(fid,'%3d,',out);
fclose(fid);
%dlmwrite('picture.txt',result);
为了使用方便,做了一个图形界面,界面如下:
程序包地址http://download.csdn.net/detail/u011853479/8550257
这篇关于基于matlab的彩色图像点阵提取小工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!