一百行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 相关文章推荐
Python3中常用的处理时间和实现定时任务的方法的介绍
Apr 07 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 Python
python中urlparse模块介绍与使用示例
Nov 19 Python
基于Python3.6+splinter实现自动抢火车票
Sep 25 Python
Python实现合并两个有序链表的方法示例
Jan 31 Python
Python实现打砖块小游戏代码实例
May 18 Python
python 函数中的内置函数及用法详解
Jul 02 Python
Django框架下静态模板的继承操作示例
Nov 08 Python
用python画一只可爱的皮卡丘实例
Nov 21 Python
Python字节单位转换实例
Dec 05 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
Python实现壁纸下载与轮换
Oct 19 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获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
PHP实现批量上传单个文件
2015/12/29 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
2020/01/26 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
自定义jQuery选项卡插件实例
2013/03/27 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
Javascript改变CSS样式(局部和全局)
2013/12/18 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
2018/09/05 jQuery
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
Python中的多重装饰器
2015/04/11 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
Python饼状图的绘制实例
2019/01/15 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
优秀求职信范文分享
2014/01/26 职场文书
开业庆典策划方案
2014/02/18 职场文书
公司经理任命书
2014/06/05 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
您对思维方式了解多少?
2019/12/09 职场文书
openstack中的rpc远程调用的方法
2021/07/09 Python
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS