zoukankan      html  css  js  c++  java
  • python——将图片转换为字符编码(linux版的)

    1.首先更新pip3安装工具:
    pip3 install --upgrade pip
    
    2.下载机器猫的原图
    wget http://labfile.oss.aliyuncs.com/courses/370/ascii_dora.png
    
    3.下载python的图像支持库pillow(PIL)
    pip3 install pillow
    
    
    4.编辑文件(配置文件有附件)
    vim ascii.py 
    
    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("$@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)
    
    
    5.运行配置文件,后边加图片的名称
    python3 ascii.py ascii_dora.png


    6.原图:

  • 相关阅读:
    django中ckeditor富文本编辑器使用
    xadmin安装
    RabbitMQ应用示例
    windows下安装RabbitMQ
    第四章 面向对象
    第三章 模块
    git简单使用
    python中的装饰器
    Python 使用 argparse 开发命令行工具/获取命令行参数/子命令实现
    自动化运维工具 Ansible 安装、配置及使用
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8665243.html
Copyright © 2011-2022 走看看