使用 Python OpenCV 测量已知圆的精确位置

问题描述

我有一张包含一堆圆形特征的图像。我想确切地知道特定圆的中心位置及其半径(最好具有亚像素精度)。

Calibration circle

OpenCV 中是否有一种方法可以将圆拟合到图像中,而不是使用圆检测器来尝试找到所有圆?像这样:

Calibration circle detected


更新:

我曾尝试使用霍夫圆检测方法,似乎对圆应该在黑线的内边缘还是外边缘感到困惑。圆圈在内边缘和外边缘之间来回跳跃,或者有时尝试同时进行。

Hough circle detection problem

解决方法

我现在能想到的就是,如果你知道大概的圆心和半径,搜索所有的圆并使用最小拟合平方和圆方程来找到你要找的那个。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...