skip to navigation
skip to content

img2txt 2008.11.20

superseded by asciiporn, http://pypi.python.org/pypi/asciiporn

Downloads ↓

################################################################################
this is a moderately sophisticated python3.0 script fully utilizing
extensions, & demonstrated to run under python2.6 via py3to2.
for performance, portions of it have been inlined w/ direct C code using
scipy.weave.  the algorithm also heavily uses bitwise operations.
it takes a jpg, gif... image file & outputs it in colorized ascii art.
also serves dual purpose as a 3-d colorized scientific plotter in text terminals
(screenshots of image conversion & 3d plot in putty terminal included)

if something fails, try updating ur install of py3to2 to the latest version @:
http://pypi.python.org/pypi/py3to2

how to enable 256 color on putty: http://www.emacswiki.org/emacs/PuTTY#toc2
how to enable 256 color on xterm: http://www.frexx.de/xterm-256-notes/

img2txt is hard-coded to use lucida-console font, but courier looks ok.
the screenshot shows putty w/ lucida-console 5pt.

AUTHOR:
  kai zhu
  kaizhu256@gmail.com

REQUIREMENTS:
- posix/unix os (Windows currently unsupported)
- py3to2
- Python Imaging Library
- scipy

API:
  img2txt module:
  - img2plaintxt - converts image file to portable plain txt
                   u can copy & paste in documents
  - img2txt - converts image to high-quality colorized txt
              for display on terminals supporting 256 color (putty, xterm...)
  - tplot3d - 3d color scientific plotter

USAGE:
  start up the py3to2 interpreter by typing "py3to2" in ur terminal &
  import img2txt:
    $ py3to2

    Python 2.6.py3to2 (r26:66714, Nov 18 2008, 00:56:43)
    [GCC 3.4.6 20060404 (Red Hat 3.4.6-10)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    >>> import img2txt
    created...
    py3k server starting...
    >>> ...py3k server started w/...
    >>>

  in this example, u'll b loading the image file included w/ this distribution,
  "mario.jpg".  its a fairly large image, so u probably want to scale it down
  to 0.5 (or less):
    >>> colortxt = img2txt.img2txt('mario.jpg', scale = 0.5)
    >>> print( colortxt )

    ... beautiful image appears ^_-

    >>> plaintxt = img2txt.img2plaintxt('mario.jpg', scale = 0.5)
    >>> print( plaintxt )

    ... rather plain b/w img -_-, but u can copy & paste it in documents

  actually, the plaintxt prolly won't look well when pasted,
  b/c most document readers invert the color:
    >>> plaintxt = img2txt.img2plaintxt('mario.jpg', scale = 0.5, invert = True)
    >>> print( plaintxt )

    ... b/w img w/ colors inverted.  may look funny now :/
        but it'll b normal when u paste it into ur document

  the 3d plotting feature is a bit more complicated.  for the time being,
  simply run the test.  (if u want to kno how to use it,
  u'll need to look @ the img2txt.tplot3d.test() method in img2txt.py)
    >>> img2txt.tplot3d.test()

################################################################################
RECENT CHANGELOG:
current
  fixed bug where 64bit  gets truncated to 32 on 32bit machine
  256 color support
20081119
  fixed bugs in setup.py
 
File Type Py Version Uploaded on Size # downloads
img2txt-2008.11.20.tar.gz (md5) Source 2008-11-22 443KB 1983