opencv houghCircles(....?PARAM1?,?PARAM2?)

时间:2011-05-08 17:44:31

标签: c++ c opencv

cvHoughCircles(Mat& image, vector<Vec3f>& circles, int method, double dp, double minDist, double param1=100, double param2=100, int minRadius=0, int maxRadius=0)

根据文件:

  

param1 - 第一个特定于方法的参数。   在CV_HOUGH_GRADIENT的情况下,它是   通过的两个更高的门槛   到Canny()边缘探测器(下部   一个会小两倍)

我真的不明白param1param2的观点。我尝试了很多不同的价值观,但仍然不知道。 有人可以向我解释一下。 感谢

1 个答案:

答案 0 :(得分:2)

目前,cvHoughCircles()中唯一实施的方法是CV_HOUGH_GRADIENT

所以,

param1 - 指的是Canny边缘检测器将使用的边缘阈值(应用于灰度图像)。 cvCanny()接受两个阈值,由cvHoughCircles()在内部调用。因此,较高(第一)阈值设置为param1(作为参数传递到cvHoughCircles()),较低(第二)阈值设置为此值的一半。

param2 - 是累加器阈值的值。该值用于必须到达的累加器平面,以便检索一条线。

我建议您阅读此book,我认为这是描述OpenCv的最佳内容。

我希望这会有所帮助。