python通过imageio模块实现GIF动图制作
程序员文章站
2024-01-17 11:59:34
...
1.python语法实现解析
使用imageio实现动图制作主要分为两步:1.筛选要制作动图的图片,2.通过imageio.mimsave()函数实现GIF制作。
1.1 筛选制作动图的图片
代码:
def seek_imagename(suffix):
image_list=[]
allfile_name=os.listdir()
for i in allfile_name:
if os.path.splitext(i)[1] == suffix:
image_list.append(i)
print(image_list)
return image_list
通过函数os.path.splitext()将需要的图片通过后缀筛选出,返回图片名组成的list。
1.2 制作动图
代码:
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
函数imageio.mimsave(gif_name,frames,‘GIF’,duration=duration),gif_name是生成的动图名,frames为图片list,duration为GIF的每帧时间。
2.演示
代码:
import imageio
import os
os.chdir('D:\python\work\动态图像研究')
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 seek_imagename(suffix):
image_list=[]
allfile_name=os.listdir()
for i in allfile_name:
if os.path.splitext(i)[1] == suffix:
image_list.append(i)
print(image_list)
return image_list
def main():
image_list=seek_imagename('.png')
gif_name='love.gif'
duration=0.08
create_gif(image_list,gif_name,duration)
if __name__ == "__main__":
main()
输出结果: