OpenCV Mat 类型的区别

23

OpenCV中的cv::Mat类型有哪些区别?

更具体地说,CV_64FCV_64FC1CV_64FC2之间有什么区别?当我创建一个包含double值的cv::Mat对象时应该使用哪个?

1个回答

39

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_64FCV_64FC1相同。因此,如果您只需要2D矩阵(即单通道),则可以使用CV_64F


编辑

Mat对象的类型名称由几个部分组成。这是CV_64FC1的示例:

  • CV_ - 这只是一个前缀
  • 64 - 每个基本矩阵元素(例如灰度图像中的像素值或BGR图像中的单个颜色元素)的位数
  • F - 基本元素的类型。在这种情况下,它是浮点数F,但也可以是有符号S或无符号U
  • Cx - 如我之前概述的那样,图像中的通道数


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接