python动图制作字符图
程序员文章站
2022-03-09 20:19:08
...
效果图放不了了,没想到gif图内存很大,可惜了,不能一睹坤坤风采。
源码在此:我将一张caixukun打篮球的动图处理成字符动图
from PIL import Image,ImageSequence,ImageDraw
import numpy as np
import os
import imageio
img=Image.open('d:/111.jpg')
img.resize((100,100))
#
w,h=img.size
#读取动图各个帧
iter=ImageSequence.Iterator(img)
#拷贝,并转成灰度图
imgs=[frame.copy().convert('L') for frame in iter]
#设定不少于27个字符
s='abcdefghijklmnopqrstuvwxyz%-$'
#将像素映射为字符,这里去0-9像素对应a,依次类推
def color_to_char(num):
index=num//10+1
return s[index]
#将图片转为字符图
def changeImg(img,index):
data=np.array(img)
#开始创建字符图了
new_img=Image.new('1',(w*2,h*2),color=255)
draw=ImageDraw.Draw(new_img)
for i in range(0,h,4):
for j in range(0,w,4):
ch=color_to_char(data[i,j])
#松散一些较好看
draw.text((j*2,i*2),ch)
#保存字符图
new_img.save('d:/caixukun/%d.png'%index)
#字符图存储
idx=0
for frame in imgs:
changeImg(frame,idx)
idx+=1
#创建gif
path='d:/caixukun/'
imgs=[]
for file in os.listdir(path):
imgs.append(imageio.imread(os.path.join(path,file)))
imageio.mimsave('d:/caixukun.gif',imgs,'GIF',duration=0.1)
上一篇: mjpg-stream的移植
下一篇: Mac删除残留图标命令