• python识别图片生成字符模式


    此python文件来自D7哥, 放在这里备份.

    • 用法
    python3 PIL&argparse.py  1.jpg -o test.txt --width 300 --height 300
    
    python3 	xxx.py		要识别的img	输出到文件	宽度		高度
    • 程序
    # coding:utf-8
    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 = 60) #输出字符画宽
    parser.add_argument('--height', type = int, default = 10) #输出字符画高
    
    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,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)
    • 展示

  • 相关阅读:
    c# 实现鼠标拖拽TreeView节点
    代码生成组合编码
    .net分布式错误,DTC出错问题
    乱七八糟?Ⅱ.哈哈
    用SQL只获取日期的方法
    C#学习之接口
    webservice 上传图片、下载图片
    Python包系列
    多线程多进程模块
    第九章Admin后台系统
  • 原文地址:https://www.cnblogs.com/chenglee/p/9847923.html
Copyright © 2020-2023  润新知