目标
在本教程中,您将学习如何:使用OpenCV函数cv :: HoughCircles来检测图像中的圆。
理论
Hough Circle变换Hough Circle变换的工作原理与上一个教程中解释的Hough Line变换大致相似。
在行检测案例中,一行由两个参数(r,θ)。在圆圈中,我们需要三个参数来定义一个圆:
(xcenter,ycenter)
定义中心位置(绿点),r是半径,这允许我们完全定义一个圆,如下所示:
为了实现效率,OpenCV实现了一个比标准霍夫变换(Hough Transform)稍微棘手的检测方法:霍夫梯度法,由两个主要阶段组成。第一阶段涉及边缘检测并找到可能的圆心,第二阶段为每个候选中心找到最佳的半径。有关更多详细信息,请查看学习OpenCV或您最喜欢的计算机视觉参考书
Code这个程序是做什么的?加载图像并使其模糊,
以减少噪音将Hough Circle变换应用于模糊图像。
在窗口中显示检测到的圆。我们将从这里下载我们将要解释的示例代码。这里可以找到一个稍微推荐的版本(显示用于更改阈值的轨