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)

  • 相关阅读:
    嵌入式工程师为何不用学习C++语言?
    汽车电子基础知识
    为什么寄存器比存储器快?
    数字信号和模拟信号
    JLink和JTag的区别
    C++中static关键字作用总结
    所谓高情商,就是会说话
    汽车电子缩略语及术语
    卷积
    算法整理
  • 原文地址:https://www.cnblogs.com/zeopean/p/5247183.html
Copyright © 2011-2022 走看看