【发布时间】:2015-09-01 11:13:38
【问题描述】:
我有一组点,我需要使用它们与各自正弦线的附近进行分组。我尝试使用标准霍夫变换来确定线条,但这并不能解决问题(只检测到几条线)。
我想测试一下 RANSAC 是否能更好地检测各种 sin 曲线。你有类似算法的例子吗?
我知道 RANSAC 不是查找多行的最佳工具,所以我要做的是 a) 找到适合大多数点的函数; b) 迭代搜索,只考虑其余的。
【问题讨论】:
-
如果您将
sin(x)拟合到您的数据中,那条黄线肯定不会丢失。罪的“底部”和“顶部”部分绝对不对应相同的频率sin(X*fs)。 -
同意@AnderBiguri - 如果你想得到那条线,你必须在多个频率上运行 RANSAC 才能捕获黄色的那个。蓝色线条很可能属于一个频率。
-
@rayryeng 不仅频率不同,而且形状本身也无法被简单的罪孽捕获。 120-160 之间的值“转动”非常快,而 40-120 之间的值非常慢。我认为罪不适合那个黄色区域。
-
@AnderBiguri - 几乎看起来像一个多项式表达式......不过,
sin函数无论如何都可以解释为多项式的无限和! -
我同意有些东西很奇怪。我会更多地思考为什么我的那些几乎对齐的点不属于任何拟合线。
标签: matlab hough-transform ransac