网上找来合成图片成gif的代码,没想到运行报错:
Traceback (most recent call last): File “D:\code\python\binance-quantization-master\tools\giftool.py”, line 5, in
明明已经运行 pip install imageio 安装模块了。后来分析可能版本旧了,重新升级模块: pip install –upgrade imageio
随便找来几张图片试验:
Traceback (most recent call last): File “D:\code\python\binance-quantization-master\tools\giftool.py”, line 16, in
导致错误的原因是所有输入的图像数组必须具有相同的形状。这意味着合成 GIF 时,要确保所有的图像具有相同的宽度和高度。 在实际应用场景,也很有可能尺寸大小有轻微不同。
一种简单的方法是使用 PIL 库来调整图像的大小 。
原来的代码:
- import imageio.v3 as iio
- import os
-
- png_dir = 'images'
- images = []
-
- # list file in folder 'images' and sort them by name
- image_list = [os.path.join(png_dir, f) for f in os.listdir(png_dir) if f.endswith('.png')]
- image_list.sort()
-
- # append images to list
- for file_name in image_list:
- images.append(iio.imread(file_name))
-
- # save as gif file
- iio.imwrite('movie.gif', images, duration=3, loop=0)
修改后代码:源码地址