我加载图像用下面的代码如何将3个通道的RGB PIL图像转换为numpy数组?
image = PIL.Image.open(file_path)
image = np.array(image)
它的工作原理,但是阵列的大小似乎是(X, X, 4)
,即它具有4层。我想要正常的RGB图层。可能吗?
UPDATE
我发现,仅仅取消4通道unsufficcient。以下代码是必需的:
image = PIL.Image.open(file_path)
image.thumbnail(resample_size)
image = image.convert("RGB")
image = np.asarray(image, dtype=np.float32)/255
image = image[:, :, :3]
为什么?
只是夹到三个信道:'图像[...,:3]'。 – Divakar
第四层是alpha(即透明度)通道。你确定你不想要吗? –
@WarrenWeckesser我正在阅读JPEG,据我所知他们不包含阿尔法。 – Dims