如何使用 python 和 pillow 编辑目录内的所有图像?
How can I edit all images inside of a directory with python with pillow?
我有一些 24 位深度的图像,我应该将它们转换为 8 位深度。
所以我可以为一张图片做,但对于多张图片我得到这个错误:
a=img.convert("P", palette=Image.ADAPTIVE, colors=8)
AttributeError: 'list' object has no attribute 'convert'
图片:
我试过这段代码:
from PIL import Image
import os
os.chdir('D:\background')
img=os.listdir()
a=img.convert("P", palette=Image.ADAPTIVE, colors=8)
a.save('D:\test')
那么如果我想用pillow转换多个文件应该怎么做呢?
在此处查看文档 https://pillow.readthedocs.io/en/stable/reference/Image.html
img=os.listdir()
,img
是文件夹 'D:\background' 下的文件名列表。这是我的实现:
from PIL import Image
import os
base_dir_src = 'D:\background'
base_dir_dst = 'D:\test'
os.chdir()
for filename in os.listdir():
with Image.open(filename) as img:
converted_img = img.convert("P", palette=Image.ADAPTIVE, colors=8)
converted_img.save(os.path.join(base_dir_dst, filename))
我有一些 24 位深度的图像,我应该将它们转换为 8 位深度。 所以我可以为一张图片做,但对于多张图片我得到这个错误:
a=img.convert("P", palette=Image.ADAPTIVE, colors=8)
AttributeError: 'list' object has no attribute 'convert'
图片:
我试过这段代码:
from PIL import Image
import os
os.chdir('D:\background')
img=os.listdir()
a=img.convert("P", palette=Image.ADAPTIVE, colors=8)
a.save('D:\test')
那么如果我想用pillow转换多个文件应该怎么做呢?
在此处查看文档 https://pillow.readthedocs.io/en/stable/reference/Image.html
img=os.listdir()
,img
是文件夹 'D:\background' 下的文件名列表。这是我的实现:
from PIL import Image
import os
base_dir_src = 'D:\background'
base_dir_dst = 'D:\test'
os.chdir()
for filename in os.listdir():
with Image.open(filename) as img:
converted_img = img.convert("P", palette=Image.ADAPTIVE, colors=8)
converted_img.save(os.path.join(base_dir_dst, filename))