Skip to main content

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

Project description

################################################################################
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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

img2txt-2008.11.20.tar.gz (454.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page