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)
可以看到效果