Python将图片转换为字符画的方法

作者:行者小朱 时间:2022-06-15 07:52:27 

最近在学习Python,看到网上用Python将图片转换成字符画便来学习一下

题目意思是,程序读入一个图片,以txt格式输出图片对应的字符画,如图所示:

Python将图片转换为字符画的方法

以下是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)

在输出文件中得到如下字符集:

Python将图片转换为字符画的方法

来源: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
  • asp之家 网络编程 m.aspxhome.com