【发布时间】:2019-10-11 17:25:13
【问题描述】:
【问题讨论】:
-
取第一点。测量到所有其他点的所有距离。对它们进行排序。距离之间会有差距。所有低于这个差距的人都将进入第一组。继续第一个未分组的点。重复直到没有剩余的未分组点。
-
Related 和 the Wikipedia article,可能有一些指针。
-
不幸的是,这是一个非常广泛的问题。您可能认为对于您所展示的确切问题,该算法相当简单,并且您可能是对的,但只需将两个组靠得更近一点,问题就会变得非常混乱。例如,这里有一篇关于这个问题的codeproject 文章,正如你所见,它毕竟看起来并不那么简单。
-
举个例子,如果你看左下组,如果在那个组中,你考虑右上角点到左下点的距离,看起来这个距离和距离很相似直到点的中心组。换句话说,这两点之间的距离是不够的,必须是你可以用额外的点来弥补这两点之间的差距,使距离标准变得更低。
-
一个简单的实现是将组编号分配给点,当两个点足够接近时,您可以用另一组的编号覆盖其中一个组的组编号。例如,如果 A 点在第 1 组中,B 点在第 2 组中,并且 A 和 B 足够接近以被认为是同一组,则将第 2 组中的所有点重新编号为第 1 组(或相反),这样您就可以轻松地将其与当前图片分组。但是,如果组更接近,则使用它并不安全,您可能需要高级边缘拓扑检测来将它们分开。
标签: c#