Parent Directory
|
Revision Log
Added stddev functionality, need goopy
# convertToAscii.py
# Generate ASCII art from an image
# Copyright 2006 Jeremy Grosser
# synack at csh.rit.edu
import Image, sys
from goopy import functional
chars = ['M', '@', '#', '*', '+', ':', '.', ',', ' ']
chars = functional.reverse(chars)
brightness = []
def convertToAscii(inputFile, outputFile, maxWidth):
im = Image.open(inputFile)
output = open(outputFile, 'w')
if im.size[0] > maxWidth:
scaleHeight = (im.size[1] * maxWidth) / im.size[0]
scaleHeight = int(scaleHeight * 0.66)
im = im.resize((maxWidth, scaleHeight))
for y in range(im.size[1]):
for x in range(im.size[0]):
red, green, blue = im.getpixel((x, y))
bright = red + green + blue
bright = int(bright / 100)
brightness.append(bright)
char = chars[bright]
output.write(char)
output.write('\n')
output.close()
def avgBrightness(im):
im = im.convert('L')
sum = 0
for x in range(im.size[0]):
for y in range(im.size[1]):
sum += im.getpixel((x, y))
avg = sum / (im.size[0] * im.size[1])
return avg
if len(sys.argv) < 3:
print 'Usage: convertToAscii <image file> <output file>'
sys.exit(1)
convertToAscii(sys.argv[1], sys.argv[2], 80)
if functional.stddev(brightness) > 1.9:
print 'good'
else:
print 'bad'
| synack at csh.rit.edu | ViewVC Help |
| Powered by ViewVC 1.0.0 |