一百行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使用PyV8执行javascript代码示例分享
Dec 04 Python
Python通过select实现异步IO的方法
Jun 04 Python
TensorFlow如何实现反向传播
Feb 06 Python
浅谈python requests 的put, post 请求参数的问题
Jan 02 Python
python中class的定义及使用教程
Sep 18 Python
pytorch中的自定义反向传播,求导实例
Jan 06 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
python自动下载图片的方法示例
Mar 25 Python
Python中logging日志的四个等级和使用
Nov 17 Python
Python try except else使用详解
Jan 12 Python
python实现MD5进行文件去重的示例代码
Jul 09 Python
python如何为list实现find方法
May 30 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/11/25 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2007/01/11 Javascript
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
详解vue中引入stylus及报错解决方法
2017/09/22 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
原生JS无缝滑动轮播图
2019/10/22 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
Python利用itchat对微信中好友数据实现简单分析的方法
2017/11/21 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
python将音频进行变速的操作方法
2020/04/08 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
Html5新特性用canvas标签画多条直线附效果截图
2014/06/30 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
英国综合网上购物商城:The Hut
2018/07/03 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
安全生产网格化管理实施方案
2014/03/01 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
三八红旗手先进事迹材料(2016推荐版)
2016/02/25 职场文书
Spring Boot mybatis-config 和 log4j 输出sql 日志的方式
2021/07/26 Java/Android
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫