您的位置:首页 > 编程语言 > MATLAB

Matlab将图片转换成asc码txt文本格式

2013-06-03 14:20 483 查看
matlab将图片转换成asc码

function img2txt(imfile,varargin);

% using an ASCII character for every stepx pixels in x-dimension
ramp=['@@@@@@@######MMMBBHHHAAAA&&GGhh9933XXX222255SSSiiiissssrrrrrrr;;;;;;;;:::::::,,,,,,,........'];
% the 'ramp' vector represents characters in order of intensity
im=imread(imfile);
im=mean(im,3);

fid=fopen(strcat([imfile,'.txt']),'w');
stepx=5;
if length(varargin)>0,
stepx=varargin{1};
end
stepy=2*stepx;
sizx=fix(size(im,2)/stepx);
sizy=fix(size(im,1)/stepy);
lumin=zeros(sizy,sizx);
for j=1:stepy,
for k=1:stepx,
lumin=lumin+im(j:stepy: (sizy-1)*stepy+j,k:stepx: (sizx-1)*stepx+k);
end
end
str=ramp(fix(lumin/(stepx*stepy)/256*length(ramp))+1);
for h=1:sizy,
fwrite(fid,[str(h,: ),10,13]);
end
fclose(fid);


原图



输入命令

>> img2txt('12.jpg',1)

可以看到效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: