Python将图片转换为字符画的方法
作者:行者小朱 时间:2022-06-15 07:52:27
最近在学习Python,看到网上用Python将图片转换成字符画便来学习一下
题目意思是,程序读入一个图片,以txt格式输出图片对应的字符画,如图所示:
以下是Python代码:
# 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=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;:,\"^`'. ")
# 将256灰度映射到70个字符上
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 += '\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)
在输出文件中得到如下字符集:
来源:https://blog.csdn.net/u012050154/article/details/51096548
标签:python,图片,字符画
0
投稿
猜你喜欢
go 字符串修改的操作代码
2024-05-13 10:40:18
PHP的PDO事务与自动提交
2023-06-09 02:32:55
Python图像处理库crop()函数 thumbnail方法使用详解
2022-12-26 05:57:46
浅谈Python中range和xrange的区别
2021-04-18 14:52:13
CSS网页布局编码小技巧整理
2009-12-30 16:50:00
asp两组字符串数据比较合并相同数据
2011-04-14 11:08:00
基于Python实现成语填空游戏的示例代码
2021-09-17 18:09:05
使用python检测主机存活端口及检查存活主机
2021-08-01 05:20:27
python从入门到实践之组合数据类型
2021-09-02 17:53:54
sqlserver和oracle中对datetime进行条件查询的一点区别小结
2024-01-15 16:25:54
《色彩解答》系列之二 色彩比例
2008-02-17 14:38:00
pyftplib中文乱码问题解决方案
2023-11-10 11:34:07
Python爬虫突破反爬虫机制知识点总结
2021-09-17 12:38:22
Python装饰器限制函数运行时间超时则退出执行
2022-09-07 18:12:54
破解 屏蔽 防框架代码 top.location != self.location
2008-11-27 12:59:00
如何使用AspUpload2.0组件?
2010-06-05 12:33:00
使用python 将图片复制到系统剪贴中
2021-12-03 22:34:11
Python webargs 模块的简单使用
2021-02-27 11:56:04
python OpenCV的imread不能读取中文路径问题及解决
2022-10-03 07:41:39
SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
2024-01-14 02:36:14