一百行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中的应用之translate和maketrans用法详解
Aug 27 Python
用Python中的wxPython实现最基本的浏览器功能
Apr 14 Python
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
python实现将json多行数据传入到mysql中使用
Dec 31 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
TensorFlow的reshape操作 tf.reshape的实现
Apr 19 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
May 24 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
Feb 06 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
PHP4引用文件语句的对比
2006/10/09 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
Javascript 篱式条件判断
2008/08/22 Javascript
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
js 通用订单代码
2013/12/23 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
javascript常用方法总结
2015/05/14 Javascript
一张Web前端的思维导图分享
2015/07/03 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
jquery实现顶部向右伸缩的导航区域代码
2015/09/02 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
2015/10/09 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
就业推荐自我鉴定
2013/10/06 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
单位承诺书格式
2014/05/21 职场文书
2016年国培研修日志
2015/11/13 职场文书
高中团支书竞选稿
2015/11/21 职场文书
分布式Redis Cluster集群搭建与Redis基本用法
2022/02/24 Redis