栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

如何制作精美的GIF动图

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何制作精美的GIF动图

其实鸽了这么长时间,本来就是想等着比赛结束之后一起总结,无奈今天突发状况,不小心把之前用的动图代码删了,就因为它我英语课都差点逃了,好在最终弄出来了,也算有失有得吧,本人也顿起倾诉欲望,写了这篇文章

直接制作gif动图(需下载imageio库,借鉴了某位大佬的代码)

import imageio
def create_gif(image_list, gif_name, duration=1.0):
    name = []
    # 把图片加进列表
    for i in image_list:
        name.append(imageio.imread(i))
    # 保存为gif图
    imageio.mimsave(gif_name, name, 'GIF', duration=duration)

def main():
    image_list = ['jichuang10.jpg', 'jichuang11.jpg', 'jichuang12.jpg']
    gif_name = "new20.gif"
    duration = 1
    create_gif(image_list, gif_name, duration)

if __name__ == '__main__':
    main()

image_list: 放需要合成的图片

imageio.mimsave: 生成GIF动图

 这里默认每张照片停顿时间是1秒

在main()函数中引用create_gif函数制作出动图 

原照片(因为一直想拿哈利波特的剧照做人脸识别,所以这里用了以下三张照片)

 

  

制作效果:

 

这显然不太雅观,为了使不同大小的图像可以放在一起形成好看的动图,我们可以这样做:

用opencv进行图像裁剪

cv2.imread读取照片

cv2.imwrite将照片写入保存

ROI=img[0:100,0:100] 前一个是y坐标,后一个是x坐标

print(img.shape)感知图片像素大小

 

附上相关代码:

#制作gif动图
#加裁剪图像版
import imageio
import cv2
img1=cv2.imread('harry1.jpg',cv2.IMREAD_UNCHANGED)
img2=cv2.imread('harry2.jpg',cv2.IMREAD_UNCHANGED)
img3=cv2.imread('harry3.jpg',cv2.IMREAD_UNCHANGED)
print(img1.shape)
print(img2.shape)
print(img3.shape)
ROI1=img1[0:439,0:280]
ROI2=img2[0:439,150:430]
ROI3=img3[0:500,0:500]
cv2.imwrite('harry4.jpg',ROI1)
cv2.imwrite('harry5.jpg',ROI2)
cv2.imwrite('harry6.jpg',ROI3)
def create_gif(image_list, gif_name, duration = 1.0):

    frames = []
    for image_name in image_list:
        frames.append(imageio.imread(image_name))

    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
    return

def main():
    #这里放上自己所需要合成的图片
    image_list = ['harry4.jpg', 'harry5.jpg', 'harry6.jpg']
    gif_name = 'new20.gif'
    duration = 1.5
    create_gif(image_list, gif_name, duration)

if __name__ == '__main__':
    main()

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/315864.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号