一百行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字符串中查找子串小技巧
Apr 10 Python
Python制作爬虫抓取美女图
Jan 20 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
Atom的python插件和常用插件说明
Jul 08 Python
python对于requests的封装方法详解
Jan 03 Python
Python实现深度遍历和广度遍历的方法
Jan 22 Python
Python中asyncio模块的深入讲解
Jun 10 Python
Django 模型类(models.py)的定义详解
Jul 19 Python
python实现邮件自动发送
Aug 10 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
浅析Python OpenCV三种滤镜效果
Apr 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
JavaScript 原型与继承说明
2010/06/09 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
2014/06/02 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
Javascript连接Access数据库完整实例
2015/08/03 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
jfinal与bootstrap的登出实战详解
2017/11/27 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
[02:19]2018年度DOTA2最佳核心位选手-完美盛典
2018/12/17 DOTA
python中sleep函数用法实例分析
2015/04/29 Python
python修改txt文件中的某一项方法
2018/12/29 Python
python从子线程中获得返回值的方法
2019/01/30 Python
python数据归一化及三种方法详解
2019/08/06 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
什么是索引指示器
2012/08/20 面试题
团日活动策划书
2014/02/01 职场文书
关于工作经历的证明书
2014/10/11 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书