一百行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格式化css文件的方法
Mar 10 Python
Python中使用Queue和Condition进行线程同步的方法
Jan 19 Python
Python网络爬虫实例讲解
Apr 28 Python
PowerBI和Python关于数据分析的对比
Jul 11 Python
python getpass实现密文实例详解
Sep 24 Python
给大家整理了19个pythonic的编程习惯(小结)
Sep 25 Python
使用python从三个角度解决josephus问题的方法
Mar 27 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 Python
基于Python脚本实现邮件报警功能
May 20 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 Python
python中pickle模块浅析
Dec 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环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
2006/11/17 PHP
php防盗链的常用方法小结
2010/07/02 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
解析PHP 使用curl提交json格式数据
2013/06/29 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
详解php命令注入攻击
2019/04/06 PHP
YII框架http缓存操作示例
2019/04/29 PHP
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
JS实现随机点名器
2020/04/12 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
揠苗助长教学反思
2014/02/04 职场文书
2014政务公开实施方案
2014/02/19 职场文书
《秋游》教学反思
2014/04/24 职场文书
企业趣味活动方案
2014/08/21 职场文书
护士求职自荐信范文
2015/03/04 职场文书
清洁工个人工作总结
2015/03/05 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
投诉信范文
2015/07/02 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
签约仪式致辞
2015/07/30 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
Python中npy和mat文件的保存与读取
2022/04/24 Python