使用Image.open读出图像,加convert('RGB')的作用。
读出来的图像是RGBA四通道的,A通道为透明通道,该通道值对深度学习模型训练来说暂时用不到,因此使用convert(‘RGB’)进行通道转换
import os
from PIL import Image
path_img = os.path.join(os.path.dirname(os.path.abspath(__file__)), "picture.png")
img1 = Image.open(path_img)
img2 = Image.open(path_img).convert('RGB')
print("img1:", img1)
print("img2:", img2)
参考: https://blog.csdn.net/qq_48939666/article/details/108959038
补充:convert的转化模式有九种不同模式: 1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。
# 为二值图像,非黑即白。每个像素用8个bit表示,0表示黑,255表示白。
image.convert('1')
# 为灰度图像,每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
# 转换公式:L = R * 299/1000 + G * 587/1000+ B * 114/1000。
image.convert('L')
from PIL import Image
def convert_P():
image = Image.open("图片路径")
image_L = image.convert('L')
image.show()
image_L.show()
...这里笔者没有做测试了,感兴趣的同学自己测试下