python将图片转换为字符画
2016-09-12 19:56
543 查看
写代码之前需要安装pillow库 至于如何安装可以百度
原文链接
原文是需要通过命令行运行程序 当然也是可以的
我改为直接运行了 需要固定一些参数 当然 也可以设置变量 从控制台输入
这个程序的功能对于色块分离明显的图片来说效果比较好
如果图片中色块小而密集 效果不佳
原文链接
原文是需要通过命令行运行程序 当然也是可以的
我改为直接运行了 需要固定一些参数 当然 也可以设置变量 从控制台输入
这个程序的功能对于色块分离明显的图片来说效果比较好
如果图片中色块小而密集 效果不佳
#__author__ = 'youngkl' #-*- 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='C:\Users\Administrator\Desktop\\ascii_dora.png' # WIDTH=args.width # HEIGHT=args.height # OUTPUT=args.output' WIDTH=80 HEIGHT=80 ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") #将256灰度映射到70个字符上 def get_char(r,g,b,alpha=256):#alpha透明度 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) with open("output.txt",'w') as f: f.write(txt)
相关文章推荐
- python将图片转换为字符画
- Python将图片转换为字符画的方法
- Python将图片转换为字符画
- 简单使用python将图片转换为字符画
- python使用reportlab实现图片转换成pdf的方法
- python使用reportlab实现图片转换成pdf的方法
- Python 将pdf转换成txt(不处理图片)
- python开发之图片转字符画
- python3图片转换二进制存入mysql
- python 一百行代码将图片转成字符画
- python将文本转换成图片输出的方法
- python3图片转换二进制存入mysql
- 1.Python 图片转字符画
- Python图片与其矩阵数据互相转换
- Python批量读取人脸图片与数据互相转换
- 利用Python和OpenCV将图片URL直接转换成OpenCV的图片格式
- 从零学python系列之教你如何根据图片生成字符画
- 用Python把图片转换为ASCII字符的程序
- python将图片文件转换成base64编码的方法
- 使用Python脚本将文字转换为图片的实例分享