我正在使用这些将RGB图像转换为灰色
arr[N - 1, M - 1]
这给了我(100,100),但我想要(100,100,1),因为这是CNN的输入,如下所示
i = cv2.resize(img, (100, 100))
i = cv2.cvtColor(i, cv2.COLOR_BGR2GRAY)
显示如何将RGB转换为GREY,以便保留1个通道因子。
答案 0 :(得分:1)
使用numpy重塑:
i = i.reshape(i.shape + (1,))
答案 1 :(得分:0)
您可以添加额外的尺寸
np.expand_dims(i, axis=0)
答案 2 :(得分:0)
与 np.newaxis
或 np.expand_dims
相比,使用省略号和 reshape
可以使代码更具可读性。
这里是单行,很容易看出新维度将添加到最后一个维度。
import cv2
import numpy as np
i = cv2.cvtColor(i, code=cv2.COLOR_RGB2GRAY)[..., np.newaxis]