1.提前安装两个包

pip install imageio
pip install opencv-python

2.直接上代码

import imageio as igo
import cv2
import numpy as np

# 读取gif,将每一帧存储在pics数组中
pics=igo.mimread('bbbb.gif')
print(np.array(pics).shape)
A = []
# 允许出现的字符数
string = '~!@#$%^&*()_+-{}|":?><[]\;'
count = len(string)
# 对每一帧的图片进行处理
for img in pics:
    u, v, _ = img.shape
    c = img * 0 + 255
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    for i in range(0, u, 6):
        for j in range(0, v, 6):
            pix = gray[i, j]
            b, g, r, _ = img[i, j]
            zifu = string[int(((count - 1) * pix) / 256)]
            cv2.putText(c, zifu, (j, i), cv2.FONT_HERSHEY_COMPLEX, 0.2, (int(b), int(g), int(r), 1))
    # 色度处理的图片存储于数组
    A.append(c)
# 存储成新的gif
igo.mimsave('b.gif',A,'GIF',duration = 0.1)

3.由于无法上传gif效果图。。。

所以。。。我尽力了

4.还有将单张图片做成字符图

 

细粒度走起

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐