【问题标题】:Circle detection in ios application with OpenCV使用 OpenCV 在 ios 应用程序中进行圆检测
【发布时间】:2014-10-12 21:15:06
【问题描述】:

我是一名 iOS 应用程序开发人员。我是 OpenCV 的新手。我想显示检测到的圆圈数。我的代码是

Mat src, src_gray;
src=[self cvMatFromUIImage:[UIImage imageNamed:@"images.jpeg"]];
cvtColor( src, src_gray, CV_BGR2GRAY );
GaussianBlur( src_gray, src_gray, Size(9, 9), 2, 2 );
std::vector<Vec3f> circles;
HoughCircles( src_gray, circles, HOUGH_GRADIENT, src_gray.rows/8, 200, 100, 0, 0 );
NSLog(@"No. of circle : %lu",circles.size());

但我收到错误: 1.'对'大小'的引用是模棱两可的'。 2. 使用未声明的标识符“CV_BGR2GRAY”。 请任何人指导我。我正在等待您的回复。

【问题讨论】:

  • 您是否使用 C++ 和 Objective-C 标记您的问题,因为您正在混合语言?
  • 其实我已经从here得到了示例代码。为此,我添加了标签 C++。
  • 好的,只是想确认一下。我不知道 obj-c,所以我帮不了你

标签: c++ objective-c iphone opencv


【解决方案1】:

CV_BGR2GRAY 替换为6 并将Size(9,9) 替换为org.opencv.core.Size(9,9)cv::Size(9, 9)(如果您已导入&lt;opencv2/highgui/ios.h&gt;)。我现在无法确认什么会起作用,试试看。

【讨论】:

  • 我用过#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" 但是得到一个错误 OpenCV Error: One of arguments' values is out of range ( dp、min_dist、canny_threshold 和 acc_threshold 必须都是正数)在 cvHoughCircles,文件 /Users/vp/work/opencv/modules/imgproc/src/hough.cpp,第 1041 行 libc++abi.dylib:以未捕获的异常终止type cv::Exception: /Users/vp/work/opencv/modules/imgproc/src/hough.cpp:1041: error: (-211) dp, min_dist, canny_threshold 和 acc_threshold 在函数 cvHoughCircles 中必须都是正数跨度>
  • 添加一个导入 "#import " 并将 Size(9,9) 替换为 cv::Size(9,9)。看看这是否有效。
  • 对于另一部分,其中一个参数似乎是 HoughCircles() 方法中的负值。尝试 NSLogging 所有参数并找出输入负数的参数。
  • 但是发生了同样的错误。在 HoughCircles(src_gray, circles, HOUGH_GRADIENT, src_gray.rows/8, 200, 100, 0, 0); src_gray.rows/8 返回 252。我不明白这个错误。 penCV 错误:cvHoughCircles 中的参数值之一超出范围(dp、min_dist、canny_threshold 和 acc_threshold 必须都是正数)
  • 我认为您应该针对此错误提出一个新问题,如果我的回答有助于您解决原始问题中的错误,则将其标记为正确。
猜你喜欢
  • 1970-01-01
  • 2012-06-14
  • 2014-12-02
  • 2018-03-20
  • 2015-05-25
  • 2017-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多