在常见的RGB(A)模式图片中,利用每个像素点的R,G,B值按照公式转换成灰度值(0~255),然后在自己创建的字符表中找到灰度值对应的字符,添加到一个文本文件中,就实现了图片转字符画(黑白)。
但是此方法不适用于颜色种类丰富的图片,虽然有对应256个灰度值正好存在256个字符,可以完全区分不同的灰度值,但是毕竟一个像素和一个字符 大小相差悬殊,转换后价值不大。
如果要转换一张宽高像素比较大的图片,除了使用ps等修图工具将像素改小,还可以使用pillow库改变图片大小。
这是我利用pillow库函数把图片像素改小后的转换:
其实这是一碗泡面~
因为改小了,图片上的字就失真了,看不清楚
直接贴代码了
/picTostr.py
#!/usr/bin/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