您的位置:首页 > 编程语言 > Python开发

python Pillow 的简单案例

2016-03-06 13:15 417 查看
#代码来自 实验楼https://www.shiyanlou.com/courses/

#encoding=utf-8
#/usr/bin/env python
from PIL import Image
import argparse

parser = argparse.ArgumentParser()

parser.add_argument('file')
parser.add_argument('-o' , '--output')
parser.add_argument('--width', type=int , default=50)
parser.add_argument('--height' , type=int , default=50)

args = parser.parse_args()

IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output

ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

def get_char(r ,b ,g , alpha=256):
if alpha ==0 :
return ''
length = len(ascii_char)
gray = int(0.2126 * r + 0.7152*g + 0.0722*b)
unit = (256.0 +1 ) / length
return ascii_char[int(gray / unit)]

if __name__ =='__main__':
im = Image.open(IMG)
im = im.resize((WIDTH , HEIGHT) , Image.NEAREST)

txt = ""

for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel((j ,i)))
txt += '\n'

if OUTPUT:
with open(OUTPUT , 'w') as f:
f.write(txt)

else:
with open('output.txt','w') as f:
f.write(txt)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: