用固定轴比拟合椭圆

问题描述 投票:0回答:1

我的问题是,我需要重建一个从斜角观察的圆形表面,以便它在图像中显示为椭圆形。我可以从其他图像部分构建 X 和 Y 方向的比例,以便了解椭圆轴的预期比率。所讨论的椭圆可以由覆盖其圆周约 1/3 的点来定义,这些点均匀分布在短轴与圆周相交的地方。

虽然原则上可以使用这些数据点来拟合椭圆(例如,使用Markwardt 的椭圆拟合,它实现了 Levenberg-Marquardt 技术的风格),但它可能会返回错误的参数,因为轴的比率没有很好地由数据覆盖范围(偏心率0.3左右,轴比1.05左右)。

我正在寻找一种算法,该算法允许在拟合椭圆时给出额外的约束或指示如何解决该问题。

这里的搜索和我的 google-foo 都没有返回任何内容。

math image-processing idl-programming-language
1个回答
0
投票

实现它的一种方法是在求解器中强制它。

在链接代码中,

mpfitellipse.pro
参数由以下方式给出:

;      P[0]   Ellipse semi axis 1
;      P[1]   Ellipse semi axis 2   ( = P[0] if CIRCLE keyword set)
;      P[2]   Ellipse center - x value
;      P[3]   Ellipse center - y value
;      P[4]   Ellipse rotation angle (radians) if TILT keyword set

如果您找到代码强制相等的方式,如果您强制循环,则可以以相同的方式强制比率。

一般来说,对于 Levenberg Marquardt,有一个从参数生成估计数据的步骤。
在该阶段,您应该根据您的模型生成数据,该模型只有一个半轴参数。

如果您想将非线性求解器用作黑盒,您可以寻找具有盒约束的非线性求解器。
首先让它自由运行。一旦它相当准确地估计其中一个轴,请使用另一个轴上的框约束来强制比率并应用另一次迭代。

© www.soinside.com 2019 - 2024. All rights reserved.