如何将点组合在一起处于同一个弯曲的“行”?

时间:2017-05-19 05:46:25

标签: algorithm image-processing grouping projection

假设我有一个点(x,y)列表,它们对应于下图中的黑点,这是一个矩形网格。这里有四个弯曲的“行”和八个“列”。 enter image description here

我如何将每一行分组在一起?换句话说,在下图中,我如何将第一行以蓝色圈出的点组合在一起(让我们称之为第1组),并将第二行以蓝色圈出的点组合在一起(让我们称之为第2组),等等。enter image description here

我最初的直觉说从左上角开始,并使用距离度量来搜索最近的点,该距离度量将惩罚两点之间的y距离。但是,我遇到的问题是当我到达第一行的最后一点时,我怎么知道该行是“完整的”,我不应该将第二行的最右边的点添加到我的组中分数?

对这类问题有更好的解决方法吗?

1 个答案:

答案 0 :(得分:1)

这在很大程度上取决于积分的分布方式。

对于这种特殊情况,一个简单的解决方案是:

按x分类点

将分割点列表分成4个连续点的组(这是您的列)

按y

对列进行排序

选择每列的第一个元素并放入第1行

选择每列的第二个元素并将其放入第2行

...