Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV 2.0+;_Opencv - Fatal编程技术网

OpenCV 2.0+;

OpenCV 2.0+;,opencv,Opencv,我正在编写OpenCV 2.3中检测彩色对象的代码。我在不推荐使用的OpenCV代码中找到了许多用于旧c-Inteface的示例 因此,我采用了一些示例代码,并希望将其更改为OpenCV 2.0+语法。这是我使用的代码(它不编译!): 问题是编译器抱怨此代码: double moment01 = cvGetSpatialMoment(moments, 0, 1); Error: ../QtCV/processorwidget.cpp:122: error: cannot convert 'cv

我正在编写OpenCV 2.3中检测彩色对象的代码。我在不推荐使用的OpenCV代码中找到了许多用于旧c-Inteface的示例

因此,我采用了一些示例代码,并希望将其更改为OpenCV 2.0+语法。这是我使用的代码(它不编译!):

问题是编译器抱怨此代码:

double moment01 = cvGetSpatialMoment(moments, 0, 1);

Error: ../QtCV/processorwidget.cpp:122: error: cannot convert 'cv::Moments*' to 'CvMoments*' for argument '1' to 'double cvGetSpatialMoment(CvMoments*, int, int)'
cvGetSpatialMoments已弃用,并期望cvMoments作为第一个参数。我的是cv::Moments(OpenCV 2.0代码)


现在我的问题是,在新的OpenCV 2.0语法中没有cv::GetSpatialMoments或其他东西。至少我没找到。有人能帮我吗?

原始海报将问题转换为实际答案,逐字逐句:


好吧,我在别的地方找到了答案:

cv::Moments ourMoment; //moments variable
ourMoment=moments(image); //calculat all the moment of image
double moment10=moment.m10; //extract spatial moment 10
double moment01=moment.m01; //extract spatial moment 01
double area=moment.m00; //extract central moment 00

这就是诀窍

+1您的问题答案兄弟……您可以为您的问题添加答案……感谢我一直在寻找答案……@netsky:您可以将编辑移到答案中,以便您的问题从
未回答列表中消失吗?此示例非常有帮助。很好地分解了一切,并解释了一切
cv::Moments ourMoment; //moments variable
ourMoment=moments(image); //calculat all the moment of image
double moment10=moment.m10; //extract spatial moment 10
double moment01=moment.m01; //extract spatial moment 01
double area=moment.m00; //extract central moment 00