一百行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字符编码
Nov 12 Python
Python 登录网站详解及实例
Apr 11 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
tensorflow实现简单的卷积网络
May 24 Python
Python 实现文件打包、上传与校验的方法
Feb 13 Python
Python如何筛选序列中的元素的方法实现
Jul 15 Python
Python在Matplotlib图中显示中文字体的操作方法
Jul 29 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
Python装饰器用法与知识点小结
Mar 09 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
python主要用于哪些方向
Jul 05 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
第七节 类的静态成员 [7]
2006/10/09 PHP
php制作简单模版引擎
2016/04/07 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
javascript 构造函数方式定义对象
2015/01/02 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
[26:21]浴火之凤-TI4世界冠军Newbee战队纪录片
2014/08/07 DOTA
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
利用Python开发微信支付的注意事项
2016/08/19 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
利用Bootstrap实现漂亮简洁的CSS3价格表实例源码
2017/03/02 HTML / CSS
Java多态性的定义以及类型
2014/09/16 面试题
股份转让协议书
2014/04/12 职场文书
致共产党员倡议书
2014/04/16 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
清洁工岗位职责
2015/02/13 职场文书
电工实训心得体会
2016/01/14 职场文书
python中的被动信息搜集
2021/04/29 Python
简述Java中throw-throws异常抛出
2021/08/07 Java/Android
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers