我希望使用C#代码,使用最小二乘法或等效法确定最适合数组中点的圆的中心和半径。
在网上搜索过我找不到。
答案 0 :(得分:3)
您可以使用常规最小化算法(例如Levenberg-Marquardt)或将其转换为线性问题,然后求解圆的参数(x,y,radius)。有关详细信息,请参阅此link。
我不知道.NET的任何多变量Levenberg-Marquardt,所以第二种解决方案可能更容易实现。请注意,您需要求解Ax = b形式的矩阵方程,以找到您的圆参数。 Math.NET库似乎能够do this。
答案 1 :(得分:2)
您可以尝试opencv库的FitEllipse功能: Fit ellipse
我认为OpenCV的C#包装器存在。