Python之OpenCV 003 简单的录屏并保存为gif动画图片

我们看到网络上好多文章有动态的图片,以前用PS制作过,现在用程序制作一些简单的

动态图片,这也是比纸质文章的好的一个优点。

Python之OpenCV 003 简单的录屏并保存为gif动画图片_第1张图片

不过csdn的图片不要大于5M的,要注意一下,以后学习一下怎么优化图片体积可以用上。现在只

是做长一下时间间隔和减小截屏的面积。

效果如下:

以下是代码:

"""
opencv python 之 003 录屏并保存为Gif图片
By Linyoubiao
2020-03-19
"""
from PIL import ImageGrab
import numpy as np
import cv2 as cv
import imageio
import time

if __name__ == "__main__":
    cv.namedWindow("grab", cv.WINDOW_NORMAL)
    buff = []
    size = (0, 0, 500, 500)
    # 获得当前屏幕
    p = ImageGrab.grab(size)
    # 获得当前屏幕的大小
    x, y = p.size
    # 编码格式
    # fourcc = cv.VideoWriter_fourcc(*'XVID')
    # 输出文件
    # video = cv.VideoWriter('d:/test.avi', fourcc, 16, (x, y))
    while True:
        im = ImageGrab.grab(size)
        img = cv.cvtColor(np.array(im), cv.COLOR_RGB2BGR)
        # video.write(img)
        cv.imshow("grab", img)
        buff.append(img)
        if cv.waitKey(1) & 0xFF == ord('q'):
            break
    # 保存图片,时间间隔为0.1s
    gif = imageio.mimsave('c:/pic/screen.gif', buff, 'GIF', duration=0.1)
    # video.release()
    cv.destroyAllWindows()

录屏用到PIL库,保存gif用到了imageio库,这都是在anaconda里自带的。

多谢,亲爱的美美。

你可能感兴趣的:(Python之OpenCV)