PIL 图片转换为三通道RGB

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
    原文作者:白刃的阿白
    原文地址: https://blog.csdn.net/qq_31930361/article/details/121380921
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞