我想在从给定点起最小Manhattan distance的图像中绘制的线段上找到该点。

显而易见的方法是获取线段上的像素,并为每个像素计算距离以获取最小值。
但是我们能做得更好吗?

最佳答案

这是一个搜索问题。您需要从头开始并应用breadth first search,然后增长直到达到线像素为止。子像素指出任何像素的状态应该是右-上-左-下邻居。曼哈顿距离将不过是目标的深度。

编辑:记住要添加一些启发式方法以加快搜索速度,例如如果所有线像素都在起点的左侧;您不需要访问right。为了进一步减少状态,线的 Angular 将是另一回事。

关于image - 点与线之间的最近曼哈顿距离,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21704257/

10-15 19:58