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数据拟合与广义线性回归算法学习
Dec 22 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
python实现微信自动回复及批量添加好友功能
Jul 03 Python
python logging日志模块原理及操作解析
Oct 12 Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 Python
jupyter notebook 多环境conda kernel配置方式
Apr 10 Python
如何通过Python3和ssl实现加密通信功能
May 09 Python
Python基于codecs模块实现文件读写案例解析
May 11 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
May 19 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
如何基于Python按行合并两个txt
Nov 03 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
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
php程序内部post数据的方法
2015/03/31 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
载入进度条 效果
2006/07/08 Javascript
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
python登录并爬取淘宝信息代码示例
2017/12/09 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
Django CBV类的用法详解
2019/07/26 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
Python列表倒序输出及其效率详解
2020/03/04 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
C语言基础笔试题
2013/04/27 面试题
你所在的项目是如何确定版本号的
2015/12/28 面试题
2014年大学生村官工作总结
2014/11/19 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
党课主持词大全
2015/06/30 职场文书