C语言 HVS色彩空间在开放的CV



当我使用open CV编程打开我的System CAM时,我要检测一个黄色对象,我从open CV中的教程对象识别中得到了一些帮助,但我不清楚这行代码,它做了什么,我不知道。请详细说明我正在使用的下面一行代码。

cvInRangeS(imgHSV, cvScalar(20, 100, 100), cvScalar(30, 255, 255), imgThreshed);

程序其他部分:

CvMoments *moments = (CvMoments*)malloc(sizeof(CvMoments));
    cvMoments(imgYellowThresh, moments, 1);
    // The actual moment values
    double moment10 = cvGetSpatialMoment(moments, 1, 0);
    double moment01 = cvGetSpatialMoment(moments, 0, 1);
    double area = cvGetCentralMoment(moments, 0, 0);

如何阅读文档?

inRange:

检查数组元素是否位于其他两个数组的元素之间。

实际上那篇文章有明确的解释:

两个cvscalar表示值的下界和上界颜色是淡黄色的。

关于第二个代码。由此计算出物体的中心及其平方。引用自文章:

首先将内存分配给moments结构,然后计算不同的力矩。然后使用力矩结构,计算两个一阶矩(moment10和moment01)和零阶矩(面积)。

将力矩10除以面积得到黄球的X坐标,同样,将动量1除以面积得到Y坐标。

相关内容

  • 没有找到相关文章

最新更新