4

我有一系列点。我知道这些点代表我页面中的许多行。

我怎样才能找到它们?我需要找到点云之间的间距吗?

谢谢乔纳森

4

2 回答 2

5

也许霍夫变换是您正在寻找的?还是线性回归

[编辑] 事实证明,问题是要识别二维坐标列表中的行,我会以这种方式进行。

线性回归只能用于对一组点进行最佳线性调整,不能检测多条线。也许使用 hough 粗略地得到线条,检查这些线条上是否有很多点对齐。看看剩下的点。他们必须属于一个行吗?

在我看来,使用累加器确定线条通常是一个很好的解决方案,但如果你的观点遵循某些关系,请尝试使累加器适应它以使其更适合。

问题定义不是那么具体,很难确切地告诉如何进行。对此类问题使用蓄电池似乎是我必须保留的基础。

至少这个问题很有趣

于 2009-09-30T19:26:36.680 回答
1

这与考虑 2 点之间的所有重叠线相同。

  1. 遍历所有点对点线并将其转换为包含以下内容的结构:

    a) y 截距

    b) 斜率

    c) 下 x 界

    d) 上 x 界

  2. 按 y 截距和斜率排序。

现在您知道只有当它们具有相同的 y 截距和相同的斜率时,两条线才能重叠。

  1. 对于每组具有相同 y 截距和斜率的线,检查 x 边界是否重叠。如果他们这样做,那么您没有单独的线,您有 1 条线超过 2 点。

  2. 将垂直线作为特殊情况处理。

于 2009-09-30T19:33:14.193 回答