cv::Mat
OpenCV类型之间有什么区别?
CV_64F
更具体地说, and CV_64FC1
or和有什么区别CV_64FC2
?当我创建一个cv::Mat
具有值的对象时,我应该使用哪一个double
?
cv::Mat
OpenCV类型之间有什么区别?
CV_64F
更具体地说, and CV_64FC1
or和有什么区别CV_64FC2
?当我创建一个cv::Mat
具有值的对象时,我应该使用哪一个double
?
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
- 我之前概述的图像中的通道数