可能是一个简单的问题,但到目前为止我找不到一个简单的解决方案。我正在为一个非常具体的用例开发一个简单的图像识别软件。
给定的是一堆应该在一条直线上的点。但是,有些点被错误地放置并远离线。尤其是在线的末端附近,点可能或多或少不准确。
例子:
X // this guy is off
X // this one even more
X // looks fine
X
X
X // a mistake in the middle
X
X // another mistake, not as bad as the previous
X
X
X
X
X // we're off the line again
线的大致方向是已知的,在这种情况下,它是垂直的。示例中的实际线实际上是垂直的,带有轻微的斜率。
我只对无限线感兴趣(即斜率和偏移),端点的位置并不重要。
作为附加信息(不确定是否重要),2 个点不可能水平相邻。例子:
X
X
X
X X // cannot happen
X
X
性能并不重要。我在 C# 中工作,但我对任何语言都很好,或者只是一个通用的想法。