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()边缘探测器(下部 一个会小两倍)
我真的不明白param1
和param2
的观点。我尝试了很多不同的价值观,但仍然不知道。
有人可以向我解释一下。
感谢
答案 0 :(得分:2)
目前,cvHoughCircles()
中唯一实施的方法是CV_HOUGH_GRADIENT
。
所以,
param1
- 指的是Canny边缘检测器将使用的边缘阈值(应用于灰度图像)。 cvCanny()
接受两个阈值,由cvHoughCircles()
在内部调用。因此,较高(第一)阈值设置为param1
(作为参数传递到cvHoughCircles()
),较低(第二)阈值设置为此值的一半。
param2
- 是累加器阈值的值。该值用于必须到达的累加器平面,以便检索一条线。
我建议您阅读此book,我认为这是描述OpenCv的最佳内容。
我希望这会有所帮助。