一、霍夫梯度法
参考B站博主的视频
1.大体思路:圆周上的点做切线,与切线垂直的方向是圆周上的点的梯度方向。梯度方向的直线都相交于一个点,就是圆心。再通过圆心确定半径大小。
2. 确定圆心:图片上每一个边缘点,找出梯度方向,做一条直线,直线上所有像素点的位置都投一票。得票最多的点就是圆心。
3. 确定半径:比如通过阈值,找到了几个圆心。把半径打散,边缘上每一个点,算它到每一个圆心的距离,距离是多少,就把票投哪儿。(同一个圆周上,同一个圆心处,投到的半径是一样的,对每个圆心找到最大得票处位置,这个位置就是半径)