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 条件判断的缩写方法
Sep 06 Python
Python深入学习之装饰器
Aug 31 Python
Linux下编译安装MySQL-Python教程
Feb 02 Python
python使用arcpy.mapping模块批量出图
Mar 06 Python
python实现自动发送邮件发送多人、群发、多附件的示例
Jan 23 Python
浅谈Python大神都是这样处理XML文件的
May 31 Python
python自动发邮件总结及实例说明【推荐】
May 31 Python
Django中多种重定向方法使用详解
Jul 17 Python
Django Form and ModelForm的区别与使用
Dec 06 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
vue.js刷新当前页面的实例讲解
Dec 29 Python
python元组拆包实现方法
Feb 28 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
跟我学Laravel之快速入门
2014/10/15 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
php curl发送请求实例方法
2019/08/01 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
Jquery判断$(&quot;#id&quot;)获取的对象是否存在的方法
2013/09/25 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
利用nohup来开启python文件的方法
2019/01/14 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
工程部经理岗位职责
2013/12/08 职场文书
大学自我鉴定范文
2013/12/26 职场文书
幼师求职自荐信
2014/05/31 职场文书
物流管理专业自荐信
2014/06/23 职场文书
应届生求职信范文
2014/06/30 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
考试没考好检讨书
2015/05/06 职场文书
城南旧事读书笔记
2015/06/29 职场文书
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
Go中的条件语句Switch示例详解
2021/08/23 Golang
关于python爬虫应用urllib库作用分析
2021/09/04 Python