python实现图片转字符画(代码片段)

Zonkidd Zonkidd     2022-12-02     760

关键词:

from PIL import Image
import argparse


# 构建命令行输入参数处理 ArgumentParser实例
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;:,\\"^`\'. ")

# char = get_char(*im.getpixel((j, i)))

def get_char(r, g, b, alpha = 256):

    #判断alpha值
    if alpha == 0:
        return \' \'

    # 获取字符集的长度,这里为70
    length = len(ascii_char)

    # 将RGB值转为灰度值 gray,灰度值范围为0-255
    gray = int(0.2125 * r + 0.7152 * g + 0.0722 * b)

    # 灰度值范围为0-255, 而字符集只有 70
    # 需要进行如下处理才能将灰度值映射到指定的字符上
    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):
            # 将(j, i)坐标的 RGB 像素转为字符后添加到txt字符串
            txt += get_char(*im.getpixel((j, i)))
        # 遍历完一行后需要增加换行符
        txt += \'\\n\'
    # 输出到屏幕
    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自己实现一个吧(代码片段)

文章目录⛳️实战场景⛳️pillow转灰度图⛳️实战场景如果你是一名程序员,你肯定在网上的代码中看到过下述注释,那有没有想过自己实现一个呢?先说原理:图片由像素点构成,然后将每个像素点替换成... 查看详情

你看过字符画吗?用python自己实现一个吧(代码片段)

文章目录⛳️实战场景⛳️pillow转灰度图⛳️实战场景如果你是一名程序员,你肯定在网上的代码中看到过下述注释,那有没有想过自己实现一个呢?先说原理:图片由像素点构成,然后将每个像素点替换成... 查看详情

python趣味编程小技巧,图片转炫酷字符画,一看就是高手(代码片段)

...片转字符画是用到了pil库。这是一个专门用来处理图片的python库。自己直接用pip安装下载就可以了。私信小编01即可获取大量Python编程学习资料Image模块Image模块是在PythonPIL图像处理中常见的模块,对图像进行基础操作的功能... 查看详情

用python实现图片转字符画,soeasy!

作者|派森酱来源| Python技术相信大家在网上经常看到有人秀出各种各样的字符画,对于这个五彩斑斓的世界来说,我们日常看到的都是一些高清的彩色的图片,偶尔来个粗糙的黑白的字符画,还是比较解乏的。字... 查看详情

图片转ascii网站(图像转字符图片转字符字符画字符图图像转ascii)(代码片段)

参考文章:https://www.qtool.net/imgascii示例:................,..::......,;tLC800L,....................,;1fGCC80888CGC0f:..........,,,,,,,,:;1tLC0000CCGGGGGGGGG80G;............,..:itLC0000000000 查看详情

图片转ascii网站(图像转字符图片转字符字符画字符图图像转ascii)(代码片段)

参考文章:https://www.qtool.net/imgascii示例:................,..::......,;tLC800L,....................,;1fGCC80888CGC0f:..........,,,,,,,,:;1tLC0000CCGGGGGGGGG80G;............,..:itLC0000000000 查看详情

python实现文字转图片(代码片段)

文章目录一、需求二、实现文字转单个图片代码三、实现文字转配对图片代码一、需求目前想要将输入的文字,转为指定风格的图片,比如宋体、草体二、实现文字转单个图片代码importosimportpdbimportPILimportnumpyasnpfromPILimpor... 查看详情

图片:“给你五十行代码把我变成字符画!”程序:“太多了,一半都用不完!”(代码片段)

利用pillow模块处理,用20多行Python代码将普通图片转为字符画操作这里是目录哟像素RGB值灰度值计算灰度值映射字符函数图片导入及尺寸设置遍历图片获取字符字符画输出和导入文件哈喽,努力赚钱买生发水的大灰狼又来... 查看详情

自制图片转字符工具(图片转字符画工具)

下载链接密码:x7tz备用链接(无密码)拖拽jpg格式文件 生成txt文件。对比图↑↓欢迎使用!  查看详情

opencv+python实现将车牌数字分割为单个的字符图片(代码片段)

文章目录一、实现代码1.图片预处理读取图片处理车牌上的螺丝转灰度二值化闭运算找字符边界绘制边界预处理效果2.切割字符预处理图转灰度计算每一列的黑色和白色数量以及最大值定义找右边界函数切割字符以及保存切割结... 查看详情

1行python代码,实现pdf转图片,速度太太太太太快了(代码片段)

大家好,这里是Python程序员晚枫。今天python-office继续发布新功能:1行代码,实现PDF转图片。速度真的很快!我还以为程序坏掉了,结果是早就运行完了。1.安装python-office安装很简单,在有python环境的电脑上,只需要执行下面这... 查看详情

python实现文字转图片(代码片段)

文章目录一、需求二、实现文字转单个图片代码三、实现文字转配对图片代码一、需求目前想要将输入的文字,转为指定风格的图片,比如宋体、草体二、实现文字转单个图片代码importosimportpdbimportPILimportnumpyasnpfromPILimpor... 查看详情

python图像视频转字符画

python图像、视频转字符画  python图像转字符画需要用到matplotlib.pyplot库,视频转字符画需要用到opencv库,这里的代码基于python3.5  图像转字符画需要先将图像转为灰度图,转灰度图的公式是 gray=0.2126*r+0.7152*g+0.0722*b,因为... 查看详情

python基础篇:字符画生成~甜心教主(代码片段)

...xff0c;其次还要花费大量的时间和精力。但是我们可以使用Python,只需要几行代码,就能够将一张图片轻而易举地转化为一个字符画。目录前言工具准备项目效果展示项目思路解析第一步视频拆分成视频将图片转换字符画... 查看详情

python字符串转整数(代码片段)

字符串转整数#字符串是普通整数a=int('1000')print(a)#1000#字符串是二进制b=int('1000',2)print(b)#8#整数转固定长度的二进制字符串#利用f-string可以快速实现c=f'15:>08b'print(c)#00001111 查看详情

python字符串转整数(代码片段)

字符串转整数#字符串是普通整数a=int('1000')print(a)#1000#字符串是二进制b=int('1000',2)print(b)#8#整数转固定长度的二进制字符串#利用f-string可以快速实现c=f'15:>08b'print(c)#00001111 查看详情

图片转字符图片(代码片段)

...符串跳舞的视频,因此来实践一下主要分为三个部分静态图片转静态图片gif转gif视频转视频静态图片转静态图片其实原理很简单,读取图片的像素,新建一张大小一样的图片,根据原图像素的灰度,决定是不是要显示出来,并在... 查看详情

图片转字符串(代码片段)

...DIR,最多加个IPCONFIG,PING一下。要求不要太高了#!/usr/bin/env.python 查看详情