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程序的循环的运行效率的原因
Apr 01 Python
Python闭包实现计数器的方法
May 05 Python
通过Python模块filecmp 对文件比较的实现方法
Jun 29 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
Python简单I/O操作示例
Mar 18 Python
对Python中小整数对象池和大整数对象池的使用详解
Jul 09 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
pytorch进行上采样的种类实例
Feb 18 Python
Selenium常见异常解析及解决方案示范
Apr 10 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
Python设计密码强度校验程序
Jul 30 Python
python开根号实例讲解
Aug 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
python如何制作缩略图
Apr 30 #Python
Python3.5装饰器原理及应用实例详解
Apr 30 #Python
You might like
PHP中创建图像并绘制文字的例子
2014/11/19 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP常用设计模式之委托设计模式
2016/02/13 PHP
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
自己编程中遇到的Python错误和解决方法汇总整理
2015/06/03 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
python实现统计代码行数的小工具
2019/09/19 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
高中生职业规划范文
2014/03/09 职场文书
食品业务员岗位职责
2014/03/18 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
Python的三个重要函数详解
2022/01/18 Python