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对象转JSON字符串的方法
Apr 27 Python
深入学习Python中的装饰器使用
Jun 20 Python
tensorflow 获取模型所有参数总和数量的方法
Jun 14 Python
使用python验证代理ip是否可用的实现方法
Jul 25 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
Flask之请求钩子的实现
Dec 23 Python
django如何通过类视图使用装饰器
Jul 24 Python
Pycharm 字体大小调整设置的方法实现
Sep 27 Python
python可视化text()函数使用详解
Feb 11 Python
Python AutoCAD 系统设置的实现方法
Apr 01 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
python神经网络学习 使用Keras进行回归运算
May 04 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 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
wordpress安装过程中遇到中文乱码的处理方法
2015/04/21 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
php中的依赖注入实例详解
2019/08/14 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
2015/12/02 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
微信小程序 商城开发(ecshop )简单实例
2017/04/07 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
2019/04/02 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
银行毕业实习自我鉴定
2013/09/19 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
个人综合鉴定材料
2014/05/23 职场文书
优秀大专毕业生求职信
2014/08/04 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
教师党员整改措施
2014/10/24 职场文书
员工辞职信范文大全
2015/05/12 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python