我怎么能找到使用弧圆直径?
87(30天)
显示旧的评论
接受的答案
更多的答案(4)
sloppydisk
2018年6月3日
10评论
sloppydisk
2018年6月5日
@John D 'Errico是的照片只是意味着作为一个例子展示的一般原则的几何中心。我在示例代码使用了最小二乘适合使用整个曲线
fitcircle.m
从文件交换。
图像分析
2018年6月4日
最大阈值,提取blob bwareafilt(),发现周边bwboundaries(),然后使用FAQ
http://matlab.wikia.com/wiki/FAQ How_can_I_fit_a_circle_to_a_set_of_XY_data.3F
约翰D 'Errico
2018年6月5日
编辑:约翰D 'Errico
2018年6月5日
如果可能的话,使用整个曲线。嗯,你都有。不仅仅是几个孤立的点。
从整个访问弧,提取点(x, y)对。在这一点上,它变成了一个纯粹的圆拟合的问题。
几年前,我写了一个圆拟合工具。它试图产生一个适合做尽可能的好,甚至允许使用各种解决者,像反斜杠pinv或robustfit替代品。然而,有很多算法假设。我承认,我不是爱上一个FAQ中列出,但也不是那么糟糕。在一些快速测试,与我写道。如果您的数据真正来自一个圆,你可能不会做太多的更好。和你的数据不应过于嘈杂的因为这弧是非常清楚的。
我能做得更好吗?我试图做的更好一点,我可能看起来使用最大似然估计,假设噪声在每个点上x和y。但你的数据不是吵,不是糟糕的,这是值得的。
那么,会出现“问题”吗?他们将来自偏离纯粹的循环。因此,是一个完美的圆弧弧,完全固定半径?我对此表示怀疑。事实上,我敢打赌,最多的错误在你的圆参数估计来自那些偏离循环,因此,缺乏适合一个真正的圆,而不是噪音。
如果这是真的,那么这意味着什么,试图做得更好,数据拟合圆完美不完美的圆形?是有限度的超越这荒谬的健康成为一个锻炼。你怎么能改善效果最好?做一个更好的提取这些点在圆的周长。改善你的数据总是一个好主意,因为这意味着算法为了后处理数据将会更容易。
我想仔细看你的数据。比较适合你的估计。它有系统模式之间的残差数据和圆。如果你看到模式,这意味着你的最大问题在于缺乏配合。如果我的猜想是正确的,那么你就不会改善通过更好的循环。