PIL 图片转换为三通道RGB
使用PIL读取一个文件夹中的图片,把它们中不是三通道的图像转换为三通道的RGB图像。并把这些转换过的图像单独保存在/saved中。
PS:我的一万张图像后缀名都是.jpg,但其实有一些还是PNG,GIF格式,它们不是三通道的,仅仅更改后缀名是不行的。所以才需要这个转换。
from PIL import Image
from io import BytesIO
import os
path = "../VOC/JPEGImages/"
savepath = "../saved"
filelist = os.listdir(path)
i = 0
for file in filelist:
img = Image.open(path + filelist[i])
if (len(img.split()) != 3) or (img.format != 'JPEG') or (img.mode !='RGB'):
print(img.mode)
img = img.convert('RGB')
bytesIO = BytesIO()
img.save(bytesIO, format='JPEG', quality=75)
img = bytesIO.getvalue()
# os.path.join(savepath, file)
with open(os.path.join(savepath, file), 'wb') as f:
f.write(img)
i = i + 1