一百行python代码将图片转成字符画


Posted in Python onFebruary 19, 2021

本文实例为大家分享了python将图片转成字符画的具体代码,供大家参考,具体内容如下

一百行python代码将图片转成字符画

一百行python代码将图片转成字符画

一百行python代码将图片转成字符画

一百行python代码将图片转成字符画

该代码引用了PIL库的Image,所以必须先安装PIP,再安装PIL,记住,我的64位系统居然是选WIN32 结尾的那个whl文件,然后才安装成功。

下面贴代码:

from PIL import Image
import argparse

#can shu chu li
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!;:,\"^`'.")

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.writh(txt)
 else:
 with open("output.txt",'w') as f:
 f.write(txt)

在安装好环境之后,将上面程序保存为XX.py ,运行命令符cd到当前py文件的目录,然后输入:

python XX.py YY.png

XX.py是你当前的python文件名,然后 YY.png是你要转换的图片,图片与py文件要保存在同一个目录;

快试一试吧,超级好玩的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
python求众数问题实例
Sep 26 Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 Python
python保存网页图片到本地的方法
Jul 24 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
详解Django 时间与时区设置问题
Jul 23 Python
Python closure闭包解释及其注意点详解
Aug 28 Python
YUV转为jpg图像的实现
Dec 09 Python
解决Django no such table: django_session的问题
Apr 07 Python
Django如何实现密码错误报错提醒
Sep 04 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
在python中对于bool布尔值的取反操作
Dec 11 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 #Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 #Python
pandas 透视表中文字段排序方法
Nov 16 #Python
用Python实现数据的透视表的方法
Nov 16 #Python
pandas pivot_table() 按日期分多列数据的方法
Nov 16 #Python
python生成以及打开json、csv和txt文件的实例
Nov 16 #Python
python判断列表的连续数字范围并分块的方法
Nov 16 #Python
You might like
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
web打印小结
2017/01/11 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
微信小程序按顺序同步执行的两种方式
2019/12/20 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
Python实现合并字典的方法
2015/07/07 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Django缓存系统实现过程解析
2019/08/02 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
Blue Nile蓝色尼罗河香港官网:世界最大在线钻石珠宝销售商
2020/05/07 全球购物
Linux常见面试题
2016/10/04 面试题
护理自荐信
2013/10/22 职场文书
大学自我评价
2014/02/12 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
商业门面租房协议书
2014/11/25 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
商标侵权律师函
2015/05/27 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
python使用openpyxl库读写Excel表格的方法(增删改查操作)
2021/05/02 Python
Python Flask请求扩展与中间件相关知识总结
2021/06/11 Python
python实现剪贴板的操作
2021/07/01 Python
一文搞懂Redis中String数据类型
2022/04/03 Redis