-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathimg2txt.m
37 lines (34 loc) · 1.07 KB
/
img2txt.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function img2txt(imfile,varargin);
%IMG2TXT Converts an image to ASCII text
%
% img2txt(imfile) converts the image contained in the specified file
% using an ASCII character for every pixel in x-dimension
% img2txt(imfile,stepx) converts the image contained in the specified file
% using an ASCII character for every stepx pixels in x-dimension
%
% Copyright (c) by Federico Forte
% Date: 2004/04/08
% Revision: 2004/04/27
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,: ),13,10]);
end
fclose(fid);