项目场景:
在计算机视觉方向, 笔者需要读取图片,然后将其”丢“给书写好的神经网络进行训练,但是在丢的过程中,经常出现通道数不匹配,导致参数传入出现的问题
问题描述
使用PIL库中的Image类读取RGB图像,返回却只有一个通道
原因分析:
在代码中,数据集的图像读取采用了PIL库中的Image.open方法,而Image.open默认情况下读取图像的模式是"L",即灰度图像,因此返回的image只有一个通道。
解决方案:
如果需要读取彩色图像,可以将Image.open方法中的参数改为"RGB",即可返回三个通道的图像。例如,可以将以下行:
# 替换前
image = Image.open(image_path)
# 替换后
image = Image.open(image_path).convert('RGB')