3

我正在尝试使用 openCV 为 iOS 编写应用程序。当我使用示例中的代码(例如 squares.c)并将其应用于我的界面时,一切都很好。但是当我尝试添加一些用于测试奇怪错误的功能时。例如:

const cv::Point* p = &squares[j][0];
int n = (int)squares[j].size();
cv::Mat image = [my_image CVMat];
polylines(image, &p, &n, 1, true, cv::Scalar(0,255,0), 8, CV_AA);   //Working good  
cvFloodFill(&c, cvPoint(10, 10), CV_RGB(255, 0, 0)); // Not working

错误:OpenCV 错误:cvGetMat,文件 /Users/Aziz/Documents/Projects/opencv_sources/trunk/modules/core/src/array.cpp 中的错误标志(参数或结构字段)(无法识别或不支持的数组类型),第 2482 行

我做错了什么?

4

1 回答 1

3

您正在将 C++ 与 C 接口混合。

用 C++ 编写的工作部分。为此,所有标题都包括在内。但是以 cv 开头的函数,如 cvFloodFill,来自 C 接口或遗留模块,您可能没有包含它们。

我的建议是将您的代码也保留在 C++ 中。所以,写

cv::floodFill( c, cv::Point(10,10), cv::Scalar(255,0,0) );

并确保变量名c是 C++ 的东西

于 2012-07-21T13:50:43.840 回答