OpenCV图像表示中值的含义是什么?

时间:2014-02-13 06:35:08

标签: image opencv image-processing

我正在使用OpenCV和Python。当我通过调用cv2.imread()加载JPG或PNG图像时,我得到一个2D矩阵,其大小与该图像的分辨率相同。矩阵中的每个数字都在0到255之间。

我不明白这个矩阵如何表示图像。特别是,我希望看到一个3D矩阵,其第三维代表RGB通道。如果一个像素由一个8位整数表示,那么整个图像只能有256种颜色,但显然不是这样。

我在这里缺少什么?

2 个答案:

答案 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);