一百行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中的相对导入和绝对导入
Jan 06 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
Django框架的使用教程路由请求响应的方法
Jul 03 Python
python通过zabbix api获取主机
Sep 17 Python
Python3 执行Linux Bash命令的方法
Jul 12 Python
python读取Excel表格文件的方法
Sep 02 Python
opencv调整图像亮度对比度的示例代码
Sep 27 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
浅谈tensorflow中张量的提取值和赋值
Jan 19 Python
Python版中国省市经纬度
Feb 11 Python
浅谈对python中if、elif、else的误解
Aug 20 Python
Python基于Socket实现简易多人聊天室的示例代码
Nov 29 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
PHP完整的日历类(CLASS)
2006/11/27 PHP
php开发环境配置记录
2011/01/14 PHP
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
php创建session的方法实例详解
2015/01/27 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
jquery异步请求实例代码
2011/06/21 Javascript
Dom操作之兼容技巧分享
2011/09/20 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
JavaScript常用本地对象小结
2016/03/28 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
python定位xpath 节点位置的方法
2019/08/27 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
python推导式的使用方法实例
2021/02/28 Python
浅谈HTML5 &amp; CSS3的新交互特性
2016/07/19 HTML / CSS
移动通信专业自荐信范文
2013/11/12 职场文书
男方父母证婚词
2014/01/12 职场文书
致共产党员倡议书
2014/04/16 职场文书
电子商务求职信
2014/06/15 职场文书
会计工作检讨书
2015/02/19 职场文书
消防安全月活动总结
2015/05/08 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技