我正在使用OpenCV和Python。当我通过调用cv2.imread()
加载JPG或PNG图像时,我得到一个2D矩阵,其大小与该图像的分辨率相同。矩阵中的每个数字都在0到255之间。
我不明白这个矩阵如何表示图像。特别是,我希望看到一个3D矩阵,其第三维代表RGB通道。如果一个像素由一个8位整数表示,那么整个图像只能有256种颜色,但显然不是这样。
我在这里缺少什么?
答案 0 :(得分:2)
参考文档here
Mat src1 = imread(inputImageFilename1.c_str(), 1); # make sure flag > 0
答案 1 :(得分:2)
“imread”将第二个参数默认为0,这意味着您的图像将转换为8位深度灰度。因此,您将获得0到255之间的值作为图像每个像素的颜色。
尝试按如下方式更改您的通话,以获得3通道彩色图像:
cv2.imread("yourimage.bmp",1);