python实现趣味图片字符化


Posted in Python onApril 30, 2019

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

主要使用PIL库

先放效果图:

python实现趣味图片字符化

python实现趣味图片字符化

代码如下:

#coding=utf-8
from PIL import Image
 
ascii_char = list('MW$#@%&KERTYOJKLUIC{}*mnxgouic()<>\!~:;^·.')
 
def get_char(r,b,g,alpha = 256):
  if alpha==0:
    return ' '
  gray = int(0.2126 * r + 0.7152 * g + 0.0722 *b)
  unit = 256 / len(ascii_char)
  return ascii_char[int(gray/unit)]
 
def main():  
  chage_image=input("请输入待转化照片的名字")
  im = Image.open(chage_image) 
  width, height = im.width,im.height
  #im = im.resize((width,height))
  txt = ""         #存放待写入的字符 使用NotePad+ 缩放观看
  for i in range(height):
    for j in range(width):
      txt += get_char(*im.getpixel((j, i)))
    txt += '\n'
    
  input_file_name = chage_image[:-4]+".txt"
  print(input_file_name)
  with open(input_file_name,"w") as f:
    f.write(txt)
  print (input_file_name[:-4],"制作完成!")
  
if "__name__" =="__main__":
  main()

其他类似这种制作的原理都是一样的,效果的差异,主要是对ascii_char列表里字符排列,

原则上,那些字符能给人视觉上占的面积大的排前面,占比少的排后面,列表元素越多,生成的图片细节越细腻。

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

Python 相关文章推荐
python正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
Python用threading实现多线程详解
Feb 03 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
python实现windows壁纸定期更换功能
Jan 21 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
tensorflow 分类损失函数使用小记
Feb 18 Python
Python流程控制常用工具详解
Feb 24 Python
python Plotly绘图工具的简单使用
Mar 03 Python
python计算auc的方法
Sep 09 Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 Python
python3对接mysql数据库实例详解
Apr 30 #Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 #Python
Python一行代码实现快速排序的方法
Apr 30 #Python
python批量识别图片指定区域文字内容
Apr 30 #Python
Python3.5装饰器典型案例分析
Apr 30 #Python
python如何制作缩略图
Apr 30 #Python
Python3.5装饰器原理及应用实例详解
Apr 30 #Python
You might like
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
JavaScript 在网页上单击鼠标的地方显示层及关闭层
2012/12/30 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
2016/01/28 Javascript
Bootstrap栅格系统的使用和理解2
2016/12/14 Javascript
jQuery UI Grid 模态框中的表格实例代码
2017/04/01 jQuery
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
react-native封装插件swiper的使用方法
2018/03/20 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
用python实现批量重命名文件的代码
2012/05/25 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
Pyqt5自适应布局实例
2019/12/13 Python
Django 限制访问频率的思路详解
2019/12/24 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
工作自荐信
2013/12/11 职场文书
给老师的一封建议书
2014/03/13 职场文书
营销与策划专业求职信
2014/06/20 职场文书
校庆标语集锦
2014/06/25 职场文书
迎新生标语大全
2014/10/06 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
python munch库的使用解析
2021/05/25 Python