Matlab將圖片轉換成asc碼txt文本格式

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)

可以看到效果


發佈了78 篇原創文章 · 獲贊 287 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章