在编辑之后以相同的名称存储PILLOW图像



我想裁剪一组Pillow图像,并将其以相同的名称保存在打开位置的同一文件夹中。它被聚集并存储为4组。

我写的代码如下。

for c in range(4):
for image_file in glob.glob(f"plot_images/{c}/*.jpg"):
im=Image.open(image_file)
im = im.convert("RGB")
im = im.crop(offset)
im.save(im.filename)

它给了我错误

AttributeError                            Traceback (most recent call last)
<ipython-input-24-9f3d3a38e4e4> in <module>
15         im = im.crop(offset)
16         #im.show()
---> 17         im.save(im.filename)
18         #print(c,end='r')
19 
/srv/conda/envs/notebook/lib/python3.8/site-packages/PIL/Image.py in __getattr__(self, name)
539             )
540             return self._category
--> 541         raise AttributeError(name)
542 
543     @property
AttributeError: filename

我不明白为什么会出现错误。请帮忙。

如果在不同时刻检查type(im),则加载后应看到PIL.JpegImagePlugin.JpegImageFile,但转换后应看到没有filenamePIL.Image.Image。使用image_file而不是im.filename

im.save(image_file)

im = Image.open(image_file)
print(type(im)) # <class 'PIL.JpegImagePlugin.JpegImageFile'>
im = im.convert("RGB")
print(type(im)) # <class 'PIL.Image.Image'>
im = im.crop(offset)    
print(type(im)) # <class 'PIL.Image.Image'>
im.save(image_file)

最新更新