一百行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函数式编程—高阶函数
Mar 29 Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 Python
pyinstaller参数介绍以及总结详解
Jul 12 Python
Numpy 中的矩阵求逆实例
Aug 26 Python
pytorch的梯度计算以及backward方法详解
Jan 10 Python
TensorFlow 多元函数的极值实例
Feb 10 Python
python程序如何进行保存
Jul 03 Python
Scrapy 配置动态代理IP的实现
Sep 28 Python
python中xlutils库用法浅析
Dec 29 Python
Python开发.exe小工具的详细步骤
Jan 27 Python
django上传文件的三种方式
Apr 29 Python
详解python的内存分配机制
May 10 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
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
一些常用的php简单命令代码集锦
2007/09/24 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
PHP中图片等比缩放的实例
2013/03/24 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
详解PHP PDO简单教程
2019/05/28 PHP
jQuery function的正确书写方法
2013/08/02 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
js的hasownproperty使用示例
2014/03/02 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
VUE 解决mode为history页面为空白的问题
2019/11/01 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python基于multiprocessing的多进程创建方法
2015/06/04 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
2017/07/24 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
python statsmodel的使用
2020/12/21 Python
phpquery中文手册
2021/03/18 PHP
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
森林防火宣传标语
2014/06/27 职场文书
欢迎家长标语
2014/10/08 职场文书
入党培养人考察意见
2015/06/08 职场文书
龙猫观后感
2015/06/09 职场文书
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技
vue el-table实现递归嵌套的示例代码
2022/08/14 Vue.js