网络编程
位置:首页>> 网络编程>> Python编程>> python实现趣味图片字符化

python实现趣味图片字符化

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

标签:python,图片,字符化

本文实例为大家分享了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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com