objective-c - iOS 中的 OpenCV 函数错误

标签 objective-c ios opencv

我正在尝试使用 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 行

我做错了什么?

最佳答案

您将 C++ 与 C 接口(interface)混合在一起。

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

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

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

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

关于objective-c - iOS 中的 OpenCV 函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11592621/

相关文章:

ios - 渐变背景适用于 iOS 8,但不适用于 iOS 7

objective-c - 尝试将 NSString 解析为 NSDate 时出错

ios - 无法安装 iOS 应用程序

html - 对象在 iphone 中没有占据全宽

python - 向图像添加填充以使它们成为相同的形状

ios - MediaPlayer -requestThumbnailImagesAtTimes 不触发通知

objective-c - 监控网络流量 Mac

ios - 未在条件语句中执行 Segue

opencv - `opencv_createsamples` 丢失

python - 如何加快 python 中的数组生成速度?