OpenCV中的cv::Mat
类型有哪些区别?
更具体地说,CV_64F
和CV_64FC1
或CV_64FC2
之间有什么区别?当我创建一个包含double
值的cv::Mat
对象时应该使用哪个?
OpenCV中的cv::Mat
类型有哪些区别?
更具体地说,CV_64F
和CV_64FC1
或CV_64FC2
之间有什么区别?当我创建一个包含double
值的cv::Mat
对象时应该使用哪个?
Cx
部分显示图像中的通道数。也就是说,类型为 CV_64FC1
的图像是简单的灰度图像,只有 1 个通道:
image[i, j] = 0.5
当图像类型为CV_64FC3
时,它是一个有3个通道的彩色图像:
image[i, j] = (0.5, 0.3, 0.7)
(在C++中,您可以像这样检查单个像素:image.at<double>(i, j)
)
CV_64F
与CV_64FC1
相同。因此,如果您只需要2D矩阵(即单通道),则可以使用CV_64F
编辑
Mat
对象的类型名称由几个部分组成。这是CV_64FC1
的示例:
CV_
- 这只是一个前缀64
- 每个基本矩阵元素(例如灰度图像中的像素值或BGR图像中的单个颜色元素)的位数F
- 基本元素的类型。在这种情况下,它是浮点数F
,但也可以是有符号S
或无符号U
Cx
- 如我之前概述的那样,图像中的通道数