开放CV中的HVS颜色空间

开放CV中的HVS颜色空间,c,opencv,color-space,C,Opencv,Color Space,当我使用open CV编程打开系统CAM时,我将检测黄色对象,我从教程中获得了一些帮助,但我不清楚这行代码,它的作用,我不知道。请详细说明我正在使用的以下代码行 cvInRangeS(imgHSV, cvScalar(20, 100, 100), cvScalar(30, 255, 255), imgThreshed); 计划的其他部分: CvMoments *moments = (CvMoments*)malloc(sizeof(CvMoments)); cvMoments(imgY

当我使用open CV编程打开系统CAM时,我将检测黄色对象,我从教程中获得了一些帮助,但我不清楚这行代码,它的作用,我不知道。请详细说明我正在使用的以下代码行

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);
读书怎么样

:

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

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

这两个标量表示值的下限和上限 那是淡黄色的

关于第二个代码。通过这些计算,作者找到了物体的中心和正方形。引自文章:

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

将动量10除以面积得到黄色球的X坐标, 同样地,将动量01除以面积得到Y坐标


你到底不明白什么?请告诉我这一行代码,它们到底是什么以及如何做的,CvMoments=(CvMoments)malloc(sizeof(CvMoments));Cv矩(imgYellowThresh,矩,1);关于第一行:你知道什么是C++吗?如果没有,我就不会在这里阅读关于C++(或C)的演讲——自己读。关于第二行,请阅读。如果你还有问题,就去问他们。