Image.open(x).convert(‘RGB‘)

    科技2025-04-12  15

    在pytorch自定义数据集的时候,需要使用到如下代码

    Image.open(x).convert('RGB')

    使用Image.open读出图像即可,为什么还需要使用convert(‘RGB’)转换成RGB,难道Image.open()读出的彩色图像不是RGB吗

    使用如下代码进行测试:

    img = Image.open('pokeman\\bulbasaur\\00000000.png').convert('RGB') img2 = Image.open('pokeman\\bulbasaur\\00000000.png') print(img) print(img2) print(img.shape) print(img2.shape)

    输出结果:

    <PIL.Image.Image image mode=RGB size=900x900 at 0x15D0609AF28> <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=900x900 at 0x15D08BD6550> (3, 900, 900) (4, 900, 900)

    可以看到,如果不使用.convert(‘RGB’)进行转换的话,读出来的图像是RGBA四通道的,A通道为透明通道,该对深度学习模型训练来说暂时用不到,因此使用convert(‘RGB’)进行通道转换。

    Processed: 0.008, SQL: 8