python实现趣味图片字符化

作者:Good_Luck_Kevin2018 时间:2022-01-22 15:29:35 

本文实例为大家分享了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列表里字符排列,

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

来源:https://blog.csdn.net/Good_Luck_Kevin2018/article/details/80914746

标签:python,图片,字符化
0
投稿

猜你喜欢

  • python爬虫使用cookie登录详解

    2023-10-13 06:36:39
  • asp函数收藏

    2009-04-21 13:10:00
  • python实现本地批量ping多个IP的方法示例

    2023-12-19 02:36:36
  • 浅谈JavaScript中promise的使用

    2024-04-16 08:55:44
  • Python实现子类调用父类的初始化实例

    2023-09-20 00:25:27
  • python通过wxPython打开一个音频文件并播放的方法

    2021-10-20 16:15:08
  • Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)

    2021-02-11 00:58:03
  • 关于设计的六个误会

    2008-06-26 18:18:00
  • asp单主键高效通用分页存储过程

    2009-02-23 19:21:00
  • 如何使用python3获取当前路径及os.path.dirname的使用

    2023-07-22 06:29:37
  • pycharm第三方库安装失败的问题及解决经验分享

    2023-07-11 01:50:45
  • 六种php加密解密方法实例讲解

    2023-07-01 12:16:02
  • Linux下通过python获取本机ip方法示例

    2023-02-18 05:56:15
  • Python实现的大数据分析操作系统日志功能示例

    2022-07-31 00:40:34
  • 使用Django和Python创建Json response的方法

    2022-04-28 13:08:42
  • python发送邮件实例分享

    2021-07-17 23:14:23
  • 分析Mysql大量数据导入遇到的问题以及解决方案

    2024-01-23 19:10:08
  • Jenkins部署war包和部署jar包的详细步骤

    2023-01-19 07:13:06
  • python 实现音频叠加的示例

    2022-10-02 21:53:38
  • 详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据

    2021-12-21 04:06:14
  • asp之家 网络编程 m.aspxhome.com