【发布时间】:2013-09-26 14:30:56
【问题描述】:
使用 OpenCV 的 HoughCircle 方法检测图像中的圆圈时,我遇到了一个相当烦人的问题。我复制了官方文档中的代码,到目前为止我一直无法检测到任何东西。调用函数后,圆向量的大小为 0,因此没有检测到圆。
我已经尝试过使用多个图像,例如 .ppm 图像、.jpg 图像,但最终都没有检测到圆圈。我真的不知道出了什么问题。
如果有人知道我应该尝试什么,我将非常感激。
using namespace cv;
Mat src = imread("Images/balls.jpg");
if(! src.data )
{
std::cout << "Could not open or find the image" << std::endl ;
return -1;
}
Mat src_gray2;
cvtColor(src, src_gray2, CV_BGR2GRAY );
GaussianBlur( src_gray2, src_gray2, cv::Size(9, 9), 2, 2 );
vector<Vec3f> circles;
HoughCircles(src_gray2, circles, CV_HOUGH_GRADIENT, 1, src_gray2.rows/8, 200, 100, 0, 0 );
std::cout << circles.size();
【问题讨论】:
-
您能发布一个您尝试过但没有结果的图像的示例吗?
-
我试过的其中一个是这个,这是这里有人做同样操作的图片。其他人能够让它为图像工作:i.stack.imgur.com/JGRiM.jpg