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 相关文章推荐
Python入门之modf()方法的使用
May 15 Python
python集合用法实例分析
May 30 Python
Python 实现简单的电话本功能
Aug 09 Python
Python多继承顺序实例分析
May 26 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
Jun 21 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
python 按钮点击关闭窗口的实现
Mar 04 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
Python中读取文件名中的数字的实例详解
Dec 25 Python
Qt自定义Plot实现曲线绘制的详细过程
Nov 02 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 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
PHP中删除变量时unset()和null的区别分析
2011/01/27 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
php的PDO事务处理机制实例分析
2017/02/16 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
JS跨域问题详解
2014/11/25 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
loading动画特效小结
2017/01/22 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
react-native android状态栏的实现
2018/06/15 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
PyQt5每天必学之关闭窗口
2018/04/19 Python
详解Python字典小结
2018/10/20 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
办理退休介绍信
2014/01/09 职场文书
八年级历史教学反思
2014/01/10 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
数学国培研修感言
2014/02/13 职场文书
大学生党员自我批评
2014/02/14 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
经营管理策划方案
2014/05/22 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL