一、需求:
实现将多个image转为gif的功能,因为有时方便展示。
二、算法如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| import imageio import os
def create_gif(img_dir, image_list, gif_name, duration=0.05): frames = [] for image_name in image_list: print("image_name={0} img_dir={1}".format(image_name, img_dir)) frames.append(imageio.imread(img_dir + '/'+ image_name)) imageio.mimsave(gif_name, frames, 'GIF', duration=duration) return
def main(): a = input("是否准备好步骤1 yes|no:") if (a=='yes'): img_dir = './image2gif' duration = input("输入每帧间隔单位[秒]:") image_list = os.listdir(img_dir + '/') gif_name = img_dir+'.gif' create_gif(img_dir, image_list, gif_name, duration) print('\n') print("合并完成_拜拜啦!") else: print("不要闹!!!") main() if __name__ == '__main__': print("-------------------------------------------------------------------") print("功能:将多个image合并为一个gif文件") print("使用说明:") print(" 1、将需要合并的image放入到image2gif文件夹(与程序同级)中") print(" 2、可以调整每帧的时间间隔") print("-------------------------------------------------------------------") main()
|
三、实际应用:
将下列图片合并为一个gif
- 将所有图片放在文件夹image2gif中
- 设置好每帧的间隔1s
- 效果如下
四、python程序转为exe:
- 安装库
pip install pyinstaller
- 打开cmd,进入到python文件所在的目录
- 输入命令:
pyinstaller -F 文件名.py
- 打开python目录文件夹,exe文件就在dist下
- 上述程序转为exe后如下: