获取AttributeError:im在尝试另存为GIF时必须具有seek方法

2024-10-02 20:33:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将文件夹中的一组图像保存为gif格式

我的代码如下:

from PIL import Image, ImageDraw
from PIL import ImageSequence 
import imageio


im1 = Image.open('../input/imageslaptop/temp2.png')
images = []
for k in range(3,53):
    f="../input/imageslaptop/temp"+str(k)+".png"
    images.append(np.asarray(Image.open(f)))
images = np.array(images)
im1.save("out.gif", save_all=True, append_images=images, duration=5100, loop=0)
print (version.parse(Image.PILLOW_VERSION) )

给出了8.0.1

error


Tags: fromimageimport文件夹inputpilpngsave
1条回答
网友
1楼 · 发布于 2024-10-02 20:33:47

由于将枕头图像转换为numpy数组,因此出现错误

代码在没有np.asarraynp.array的情况下正常工作

from PIL import Image

im1 = Image.open('../input/imageslaptop/temp2.png')

images = []

for k in range(3, 53):
    path = "../input/imageslaptop/temp" + str(k) + ".png"
    images.append(Image.open(path))

im1.save("out.gif", save_all=True, append_images=images, duration=5100, loop=0)

编辑:

如果需要将枕头图像转换为numpy阵列以进行某些更改,则必须在保存之前将阵列转换回枕头图像

images = [Image.fromarray(img) for img in images]

from PIL import Image
import numpy as np

im1 = Image.open('../input/imageslaptop/temp2.png')

images = []

for k in range(3, 53):
    path = "../input/imageslaptop/temp" + str(k) + ".png"
    images.append(np.asarray(Image.open(path)))

# ... here make some change on images ... 

images = [Image.fromarray(img) for img in images]

im1.save("out.gif", save_all=True, append_images=images, duration=5100, loop=0)

相关问题 更多 >