python实现趣味图片字符化

 更新时间:2019年04月30日 10:39:20   作者:Good_Luck_Kevin2018  
这篇文章主要为大家详细介绍了python实现趣味图片字符化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了python实现趣味图片字符化的具体代码,供大家参考,具体内容如下

主要使用PIL库

先放效果图:

代码如下:

#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列表里字符排列,

原则上,那些字符能给人视觉上占的面积大的排前面,占比少的排后面,列表元素越多,生成的图片细节越细腻。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 解决python2 绘图title,xlabel,ylabel出现中文乱码的问题

    解决python2 绘图title,xlabel,ylabel出现中文乱码的问题

    今天小编就为大家分享一篇解决python2 绘图title,xlabel,ylabel出现中文乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 一个Python优雅的数据分块方法详解

    一个Python优雅的数据分块方法详解

    在做需求过程中有一个对大量数据分块处理的场景,具体来说就是几十万量级的数据,分批处理,每次处理100个。这时就需要一个分块功能的代码。本文为大家分享了一个Python中优雅的数据分块方法,需要的可以参考一下
    2022-05-05
  • 深入详解Python中dotted库的使用

    深入详解Python中dotted库的使用

    Python的dotted库提供了一种便捷的方式来处理嵌套字典和列表,允许通过点分隔的路径字符串来访问和设置嵌套结构中的数据,下面我们就来看看它的具体使用
    2019-04-04
  • Python调用Java数据接口实现CRUD操作的详细指南

    Python调用Java数据接口实现CRUD操作的详细指南

    Python和Java作为两种流行的编程语言,在企业级应用中常常需要实现跨语言的数据交互,下面我们就来看看如何在Django Python项目中调用Java数据接口实现CRUD操作吧
    2025-04-04
  • python排序算法的简单实现方法

    python排序算法的简单实现方法

    这篇文章主要给大家介绍了关于python排序算法的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • python3.6实现学生信息管理系统

    python3.6实现学生信息管理系统

    这篇文章主要为大家详细介绍了python3.6实现学生信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • python温度转换华氏温度实现代码

    python温度转换华氏温度实现代码

    这篇文章主要介绍了python温度转换华氏温度实现代码内容,有需要的朋友们可以测试下。
    2020-12-12
  • Python解析多帧dicom数据详解

    Python解析多帧dicom数据详解

    今天小编就为大家分享一篇Python解析多帧dicom数据详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python自动化办公之手机号提取

    Python自动化办公之手机号提取

    这篇文章主要介绍了如何利用Python语言编写一个手机号提取器,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
    2022-06-06
  • PyMongo安装使用笔记

    PyMongo安装使用笔记

    这篇文章主要介绍了PyMongo安装使用笔记,本文讲解使用pip方式安装PyMongo,并给出一个pymongo的简单使用代码实例,需要的朋友可以参考下
    2015-04-04

最新评论