C++ 基于OpenCV的ios应用程序中的圆检测
我是一名iOS应用程序开发人员。我是OpenCV的新手。我想显示检测到的圆的数量。我的代码是C++ 基于OpenCV的ios应用程序中的圆检测,c++,objective-c,iphone,opencv,C++,Objective C,Iphone,Opencv,我是一名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>
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());
matsrc,src\u gray;
src=[self-cvMatFromUIImage:[UIImage ImageName:@“images.jpeg”];
CVT颜色(src、src_灰色、CV_BGR2灰色);
高斯模糊(src_灰,src_灰,大小(9,9,2,2));
std::向量圆;
HoughCircles(src_gray、圆形、HOUGH_渐变、src_gray.rows/82000、100、0、0);
NSLog(@“圈数:%lu”,circles.size());
但我得到了一个错误:
1. '对“大小”的引用是模糊的。
2.使用未声明的标识符“CV_BGR2GRAY”。
请任何人引导我。我正在等待您的答复。如果您导入了
,请将CV\u bgr2 gray
替换为6
,并将Size(9,9)
替换为org.opencv.core.Size(9,9)
或CV::Size(9,9)
。我现在不能确定什么会起作用,试试看你是否用C++和Objule-C来标注你的问题,因为你在混合语言?实际上我从中得到了示例代码。为此我添加了标签C++,好的,只是想确定一下。我不知道obj-c,所以我无法帮你解决这个问题,我在CVhough圈中使用了“包括”opencv2/highgui/highgui.hpp“;包括”opencv2/imgproc/imgproc.hpp“,但得到了一个错误OpenCV错误:参数值之一超出范围(dp、min_dist、canny_阈值和acc_阈值必须都是正数),文件/Users/vp/work/opencv/modules/imgproc/src/hough.cpp,第1041行libc++abi.dylib:以cv::exception类型的未捕获异常终止:/Users/vp/work/opencv/modules/imgproc/src/hough.cpp:1041:错误:(-211)dp、min_dist、canny_阈值和acc_阈值必须都是函数cvhoughcircles中的正数添加导入“#导入”并用cv::Size(9,9)替换大小(9,9)。另一方面,HoughCircles()方法中的一个参数似乎是负值。尝试记录所有参数并找出输入为负数的参数。但发生了相同的错误。在HoughCircles中(src_gray、圆形、HOUGH_渐变、src_gray.rows/82000、100、0、0);src_gray.rows/8返回252。我不明白这个错误。penCV错误:CVHOUGHCIRCLES中有一个参数的值超出范围(dp、min_dist、canny_阈值和acc_阈值必须都是正数)。我认为您应该就这个错误提出一个新问题,如果它有助于您解决原始问题中的错误,请将我的答案标记为正确。