Opencv中的HSV色彩空间

时间:2013-01-19 09:42:17

标签: c opencv color-space

当我使用Open CV编程打开我的系统CAM时,我将检测到一个黄色对象,我从教程Object Recognition in 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);

1 个答案:

答案 0 :(得分:1)

阅读documentation怎么样?

inRange

  

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

实际上那篇文章包含了明确的解释:

  

两个cvScalars代表值的下限和上限   颜色偏黄。

关于第二个代码。从该计算中,作者找到了物体的中心及其正方形。引自文章:

  

首先将内存分配给时刻结构,然后再分配给你   计算各种时刻。然后使用矩结构,   你计算两个一阶矩(moment10和moment01)和   零阶(区域)。

     

按区域划分moment10给出黄球的X坐标,   同样,将moment01除以区域给出Y坐标。