如何在线性插值中找到坏点?

Posted

技术标签:

【中文标题】如何在线性插值中找到坏点?【英文标题】:how to find bad points in a linear interpolation? 【发布时间】:2014-08-19 12:34:23 【问题描述】:

我有一组点,我知道:

    都是0-255 它们的格式是递增的(因此 Point[0] 他们正在压制一条线(有一些噪音)。

但是有些地方表现不好。我需要检测这些点。最快的方法是什么?

一般我可以得到第一个和最后一个并找到线公式,然后计算每个点的误差,如果误差太大,我将该点标记为坏点。

有没有更好的方法(更快更准确)?

是否有任何库可以提供帮助(我正在使用 OpenCV 和 Boost)。

【问题讨论】:

你能定义“行为不端”吗?如果第一行和最后一行实际上是“坏点”怎么办?是什么让您认为选择这两个是最好的方法? 是的,拿第一点和最后一点可能是个坏主意,因此:fitLine @berak fitLine 似乎是一个不错的解决方案。我怎样才能找到不好的点?与实际线有很大偏差的点? 【参考方案1】:

您应该计算linear regression 并测量点与该趋势线的距离,而不是取第一个点和最后一个点。可能是您的第一点/最后一点表现不佳。

【讨论】:

如何求点到线的距离?最快的方法是什么? @mans 您可以在点的 x 坐标处评估线函数 f(x)=kx+a 并检查 abs(kpoint_x+a -point_y) 超过某个阈值(k 和 a 是线系数)。这不是“垂直”距离,但我想你的情况已经足够了。 这个距离是多少?【参考方案2】:

循环遍历它们,如果 p[i]

我不知道你为什么提到 lerp,这听起来不相关。 lerp 函数不能返回错误的结果。

【讨论】:

以上是关于如何在线性插值中找到坏点?的主要内容,如果未能解决你的问题,请参考以下文章

如何在线性回归方程中找到结果的平均值

如何在线性“祖先-后代”关系中找到最后一个后代(与其他条件匹配)

使用双线性插值调整图像大小而不使用 imresize

快节奏多人在线游戏网络入门系列教程:实体插值

如何在片段着色器中找到 4 个顶点之间的插值位置?

opencv双线性插值