python图片转字符画(转)
2024-08-29 23:34:20
先上代码:
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("@#&$%*o!;.")
# 将256灰度映射到70个字符上
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 += '\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 img2txt.py xxxx.jpg
会在img2txt.py 文件所在的目录里生成一个output.txt文件.
运行的前提,需要安装PIL
window7 下安装使用:
cmd下执行命令: easy-install pillow
如果出错,就去网站直接下载文件,我的系统是windows7 64,python为3.7,则下载:Pillow-6.2.1-cp37-cp37m-win_amd64.whl
然后执行:
pip install Pillow-6.2.1-cp37-cp37m-win_amd64.whl
最新文章
- Xamarin Android 所见即所得问题
- ajax如何返回多个值
- 2016.10.08,英语,《Verbal Advantage》Level1 Unit1-4
- Codeforces 633B A Trivial Problem
- CentOS 7.0 重置root密码
- 中篇: php 微信支付 基于Thinkphp3.2开发
- python添加自定义cookies
- react native( rn) 中关于navigationOptions中headerRight 获取navigation的问题 rn
- bitset用法小结
- maven 标签classifier 研究一下
- 类的继承和C3算法
- 阻止默认事件preventDefault与returnValue
- 微信小程序动态更改样式
- servlet 3.1 摘录
- MySQL 事务 隔离级别
- Swift Protobuf 初探 —— 继 XML 后,JSON 也要被淘汰了吗
- 对于asp.net mvc异步查询
- Git的一些用法(下)
- 转载关于Qsys的 指令总线 和 数据总线
- [libGDX游戏开发教程]使用Libgdx进行游戏开发(5)-关卡加载