python实现图片转字符小工具


Posted in Python onApril 30, 2019

本文实例为大家分享了python图片转字符小工具的具体实现代码,供大家参考,具体内容如下

from PIL import Image

#灰度与字符的映射
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")

WIDTH=int(input("请输入你想输出的宽度:"))
HEIGHT=int(input("请输入你想输出的高度:"))
INPUT=r'D:\Download\ascii_dora.png'
OUTPUT=r'D:\Download\output.txt'

def get_char(r,g,b,alpha=256):
  if alpha==0:
    return ' '
  gray = 0.2126 * r + 0.7152 * g + 0.0722 * b
  length=len(ascii_char)
  unit=(256+1)/length
  return ascii_char[int(gray/unit)]

im=Image.open(INPUT)
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'

with open(OUTPUT,'w') as f:
  f.write(txt)

效果图:

python实现图片转字符小工具

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过mod_python配置运行在Apache上的Django框架
Jul 22 Python
详解Python中映射类型(字典)操作符的概念和使用
Aug 19 Python
更改Ubuntu默认python版本的两种方法python-&gt; Anaconda
Dec 18 Python
python使用锁访问共享变量实例解析
Feb 08 Python
Python常见的pandas用法demo示例
Mar 16 Python
python实现维吉尼亚加密法
Mar 20 Python
详解python和matlab的优势与区别
Jun 28 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 Python
Django使用django-simple-captcha做验证码的实现示例
Jan 07 Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 #Python
python实现趣味图片字符化
Apr 30 #Python
python3对接mysql数据库实例详解
Apr 30 #Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 #Python
Python一行代码实现快速排序的方法
Apr 30 #Python
python批量识别图片指定区域文字内容
Apr 30 #Python
Python3.5装饰器典型案例分析
Apr 30 #Python
You might like
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
浅析php变量作用域的一些问题
2013/08/08 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
2016/08/11 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
JS使用正则表达式找出最长连续子串长度
2017/10/26 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
JS高级技巧(简洁版)
2018/07/29 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
javascript实现计算器功能
2020/03/30 Javascript
js实现网页随机验证码
2020/10/19 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python中的列表知识点汇总
2015/04/14 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
什么是View State?
2013/01/27 面试题
出国留学英文自荐信
2015/03/25 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis