A simple python script to convert image to text (grey scale or binary.. useful for further image processing)
Here is a scaled down (32x32) image of a star:
Then I run the script using -b
flag to convert to binary: python3 img2txt.py star32.png 240 -b
It will create a .txt file with this output:
32 32 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Here is the same output with -p
(pretty) flag: python3 img2txt.py star32.png 240 -p -b
32 32 0 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 1 1 . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 1 1 1 1 . . . . . . . . . . . . . .
. . . . . . . . . . . . . 1 1 1 1 1 1 . . . . . . . . . . . . .
. . . . . . . . . . . . . 1 1 1 1 1 1 . . . . . . . . . . . . .
. . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . .
. . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . .
. . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . .
. . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . .
. . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . .
. . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .
. . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . . .
. . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .
. . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .
. . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 . . . . . . . . . .
. . . . . . . . . 1 1 1 1 1 1 . . 1 1 1 1 1 1 . . . . . . . . .
. . . . . . . . . 1 1 1 1 . . . . . . 1 1 1 1 . . . . . . . . .
. . . . . . . . . 1 1 1 . . . . . . . . 1 1 1 . . . . . . . . .
. . . . . . . . 1 1 1 . . . . . . . . . . 1 1 1 . . . . . . . .
. . . . . . . . 1 . . . . . . . . . . . . . . 1 . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Here is another example with -i
(invert) flag: python3 img2txt.py star32.png 240 -b -i -p
32 32 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 · · 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 · · 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 · · · · 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 · · · · 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 · · · · 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 · · · · 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 · · · · · · 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 · · · · · · 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 · · · · · · · · · · · · · · · · · · · · · · · · 1 1 1 1
1 1 1 1 1 · · · · · · · · · · · · · · · · · · · · · · 1 1 1 1 1
1 1 1 1 1 1 · · · · · · · · · · · · · · · · · · · · 1 1 1 1 1 1
1 1 1 1 1 1 1 1 · · · · · · · · · · · · · · · · 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 · · · · · · · · · · · · · · 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 · · · · · · · · · · · · 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 · · · · · · · · · · 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 · · · · · · · · · · · · 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 · · · · · · · · · · · · 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 · · · · · · · · · · · · 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 · · · · · · 1 1 · · · · · · 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 · · · · 1 1 1 1 1 1 · · · · 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 · · · 1 1 1 1 1 1 1 1 · · · 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 · · · 1 1 1 1 1 1 1 1 1 1 · · · 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 · 1 1 1 1 1 1 1 1 1 1 1 1 1 1 · 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
python3 img2txt.py <image_file> <threshold_value> <flag_to_convert_to_binary(optional)> <flag_to_pretty_print(optional)>
eg 1: python3 img2txt.py /home/Desktop/img2.png 240 -b -p
(-b is converte to binary, outputs 0 & 1) (-p is instead of printing 0's print a dot)
eg 2: python3 img2txt.py img2.jpg 255 -p
(here 255 is max threshold, meaning no pixel value will be replaced with 0)
eg 3: python3 img2txt.py img2.jpeg 250
(all greyscal pixel values greater than 250 threshold will be replaced with 0)
-b
binary
-p
pretty print
-i
invert. (Any pixel value less than threshold will be replaced with 0... normally without -i
flag its opposit)