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的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 Python
python语言使用技巧分享
May 31 Python
TensorFlow实现RNN循环神经网络
Feb 28 Python
Python基于递归实现电话号码映射功能示例
Apr 13 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
django使用django-apscheduler 实现定时任务的例子
Jul 20 Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
Oct 24 Python
Python模块future用法原理详解
Jan 20 Python
Django实现前台上传并显示图片功能
May 29 Python
Ubuntu16安装Python3.9的实现步骤
Dec 15 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 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 选项及相关信息函数库
2006/12/04 PHP
php strcmp使用说明
2010/04/22 PHP
php中文验证码实现示例分享
2014/01/12 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
php检测文本的编码
2015/07/26 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
extjs 04_grid 单击事件新发现
2012/11/27 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
浅谈Python中带_的变量或函数命名
2017/12/04 Python
使用python实现链表操作
2018/01/26 Python
python基础教程项目五之虚拟茶话会
2018/04/02 Python
详解python中递归函数
2019/04/16 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
django框架两个使用模板实例
2019/12/11 Python
python几种常用功能实现代码实例
2019/12/25 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
百度JavaScript笔试题
2015/01/15 面试题
平面设计师工作职责范文
2013/12/03 职场文书
制药工程专业职业生涯规划范文
2014/03/10 职场文书
纪律教育月活动总结
2014/08/26 职场文书
2014年采购部工作总结
2014/11/20 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
python前后端自定义分页器
2022/04/13 Python