22

cv::MatOpenCV类型之间有什么区别?

CV_64F更具体地说, and CV_64FC1or和有什么区别CV_64FC2?当我创建一个cv::Mat具有值的对象时,我应该使用哪一个double

4

1 回答 1

35

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- 我之前概述的图像中的通道数
于 2013-10-08T13:36:39.393 回答