zoukankan      html  css  js  c++  java
  • 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 = 80) #输出字符画宽
    parser.add_argument('--height', type = int, default = 80) #输出字符画高
    
    #获取参数
    args = parser.parse_args()
    
    IMG = args.file
    WIDTH = args.width
    HEIGHT = args.height
    OUTPUT = args.output
    
    ascii_char = list("@#&$%*o!;.")
    # 将256灰度映射到70个字符上
    def get_char(r,g,b,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 += '
    '
        print(txt)
    
        #字符画输出到文件
        if OUTPUT:
            with open(OUTPUT,'w') as f:
                f.write(txt)
        else:
            with open("output.txt",'w') as f:
                f.write(txt)

    运行:

    python img2txt.py   xxxx.jpg

    会在img2txt.py  文件所在的目录里生成一个output.txt文件.

    运行的前提,需要安装PIL

    window7 下安装使用:

    cmd下执行命令:  easy-install pillow

    如果出错,就去网站直接下载文件,我的系统是windows7 64,python为3.7,则下载:Pillow-6.2.1-cp37-cp37m-win_amd64.whl

    然后执行:

    pip  install Pillow-6.2.1-cp37-cp37m-win_amd64.whl

  • 相关阅读:
    【WF2017】Mission Improbable
    【Codeforces 837D】Round Subset
    【Codeforces 788C】The Great Mixing
    【JSOI2008】最大数
    2.1图像的数字化
    MATLAB生成随机数
    四六级准考证号忘记了如何快速查询四六级成绩?
    加密与水印结合
    如何在 PyPI安装python的软件包?
    matlab中如何定义函数
  • 原文地址:https://www.cnblogs.com/25miao/p/11948874.html
Copyright © 2011-2022 走看看