0

我有一系列点(不是顶点),它们形成一个开放的形状,但它们随机排列在一个数组中,但是为了有效地识别形状,我需要做的是按照形状的顺序排列点。

有什么方法可以让我识别出起点和终点?

编辑:这些点在二维平面中,我有边界框。这些点是从图像处理算法中获得的,该算法给我从上到下的点(不是按照形状的顺序),因为图像是逐像素处理的。

4

2 回答 2

2

给定一组点,有多种方法可以从它们重建形状。如果您只考虑两点之间的距离,那么这基本上可以归结为一个经典的旅行商问题:您正在寻找一个通过所有点的旅行,以最小化所述旅行的长度。您可以添加一个与平面中所有点具有相同距离的 mor atrificial 点。这会将循环游览变成线性游览:在该人工点之后的点将是起点,而在它之前的点将是终点。可能有 TSP 近似算法可以开箱即用地进行非循环游览。

仅考虑距离会忽略绘画设备运动所固有的任何惯性。所以我不认为这是最好的模型。但是对于大多数模型,我仍然会考虑一种方法来确定所有点的顺序,这会自动识别起点和终点。我想不出一种方法来可靠地识别这两者,而无需对它们之间的所有点进行排序。

于 2012-09-18T15:38:59.587 回答
1

编辑:似乎你想实现图像分割:

向下滚动到第 28 页以获取数学描述。这会给你轮廓。这能让你到达你想去的地方吗?


你想要做的是实施

光学字符识别

无需使用外部库。我不建议将它用于生产目的,但认为这将是一个很好的问题。

我的建议是建立一个简单的人工神经网络,图像表面提供输入信号。前馈、反向传播 ANN 的编码非常容易,但要获得您想要的结果却非常棘手。

毕竟,尽管进行了多次尝试,但您正在解决一个尚无完美解决方案的问题。祝您好运,并请让我们了解您的最新进展!

于 2012-09-18T15:31:33.667 回答