什么是 CV_8UC3,SCALAR_BLACK);? [复制]

Posted

技术标签:

【中文标题】什么是 CV_8UC3,SCALAR_BLACK);? [复制]【英文标题】:what is CV_8UC3, SCALAR_BLACK);? [duplicate] 【发布时间】:2020-01-05 23:06:30 【问题描述】:
Mat imgContours(imgThresh.size(), CV_8UC3, SCALAR_BLACK);
                                 ************************

下划线代码的用途是什么以及它是如何工作的?

【问题讨论】:

它们是#define'd 常量。使用 IDE 的“转到定义”工具 - 或使用 OpenCV 的文档: @Dai 现在我知道 CV_8UC3 是什么意思,但 SCALAR_BLACK 是什么意思? 我不认为 SCALAR_BLACK 是由 OpenCV 定义的(如果是的话,它会以 CV_ 为前缀) @kmdreko 那么它的目的是什么? 该参数用于初始填充值,因此它可能是cv::Scalar(0) 或类似的#define 或常量,您必须检查已定义此定义的代码才能确定 【参考方案1】:
Mat imgContours(imgThresh.size(), CV_8UC3, SCALAR_BLACK);

CV_8UC3 是一个 8 位无符号整数矩阵 (2D)/图像,具有 3 个通道。

【讨论】:

以上是关于什么是 CV_8UC3,SCALAR_BLACK);? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

[0] CV Notes - 琐碎

GrabCut 中的错误参数(图像必须具有 CV_8UC3 类型)

为什么要把CV_8UC3(Vec3b)无符号整型转换成CV_32F(Vec3F)32位浮点数据类型?(在高精度下处理)

CGBitmapContextCreate for CV_8UC3(在 OpenCV 中使用)

为什么openCV2的Line(antialiased)函数在CV_16UC1和CV_8UC1上给出不同的结果而没有溢出

如何在opencv中将图像从CV_8UC1转换为CV_32FC1类型?