cv2.imread:在灰度图像中读取时如何保持颜色通道

时间:2018-03-25 16:51:26

标签: python python-2.7 opencv opencv3.1

我正在尝试使用opencv2加载灰度图像,但不知何故,颜色通道被完全删除。

当我在做的时候:

img = cv2.imread(PATH_TO_IMAGE, 1) // load image as rgb 

img.shape返回例如(28,28,3)

但如果我加载与灰度相同的图像:

img = cv2.imread(PATH_TO_IMAGE, 0) // load image as grayscale 

img.shape返回(28,28),但我希望/需要(28,28,1)的形状

这是opencv中的错误还是我错过了什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

在以灰度加载图像时,OpenCV的行为与Python中的行为相同。如果你需要添加一个频道来制作它(28,28,1),你可以这样做

import numpy as np
img = img[:, :, np.newaxis]