一百行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调用C语言开发的共享库方法实例
Mar 18 Python
Python操作RabbitMQ服务器实现消息队列的路由功能
Jun 29 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
Python决策树和随机森林算法实例详解
Jan 30 Python
Python网络编程之TCP与UDP协议套接字用法示例
Feb 02 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
python实现扫描ip地址的小程序
Apr 16 Python
python实现批量视频分帧、保存视频帧
May 31 Python
python selenium实现发送带附件的邮件代码实例
Dec 10 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
pymongo insert_many 批量插入的实例
Dec 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
随机广告显示(PHP函数)
2006/10/09 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
PHP数据的提交与过滤基本操作实例详解
2016/11/11 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
Bootstrap框架安装使用详解
2017/01/21 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
vue + typescript + 极验登录验证的实现方法
2019/06/27 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
nodejs如何在package.json中设置多条启动命令
2020/03/16 NodeJs
js实现纯前端压缩图片
2020/11/16 Javascript
零基础写python爬虫之urllib2中的两个重要概念:Openers和Handlers
2014/11/05 Python
Python实现的桶排序算法示例
2017/11/29 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
python 简单的调用有道翻译
2020/11/25 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
美国在线面料商店:Online Fabric Store
2018/07/26 全球购物
新领导上任欢迎词
2014/01/13 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
工作所在部门证明
2014/09/21 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS