我有一个相当恼人的问题,使用OpenCV的HoughCircle方法来检测图像中的圆圈。我复制了官方文档中的代码,至今我一直无法检测到任何东西。调用该函数后,圆矢量的大小为0,因此没有检测到圆。OpenCV houghcircles什么都不检测C++
我已经尝试过使用多个图像,例如.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();
你可以发布一个你尝试过的图片没有结果的例子吗? – Mozglubov
我尝试过的其中一个就是这个,这是一张由某人在这里做相同操作的图片。其他人能够为图像工作:http://i.stack.imgur.com/JGRiM.jpg – user1708997