zoukankan      html  css  js  c++  java
  • python Pillow 的简单案例

    #代码来自 实验楼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 += ' '

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

    else:
    with open('output.txt','w') as f:
    f.write(txt)

  • 相关阅读:
    域对象
    会话
    http请求
    ServletContext对象的应用
    配置一个servlet程序
    合并两个有序数组
    删除排列数组中的重复项
    移除元素
    搜索插入位置
    九九乘法表
  • 原文地址:https://www.cnblogs.com/zeopean/p/5247183.html
Copyright © 2011-2022 走看看