我有这个形象。它由许多不规则多边形组成。
首先,我想计算两个多边形之间的最小距离。我认为可以实现的方法是首先提取每个多边形的边界像素的位置,并将其存储在数组中,如B1和B2。然后计算B1中每个点到B2中每个点的距离,然后找出其中的最小值。然后我想为图中的每个多边形重复这个。
所以,我想知道的是
此外,由于多边形非常不规则,我认为平滑它们可能也会节省大量时间。但我又不知道怎么样?
我发现这个function是我想要的FEX,只要我有多边形的边界点,但我发现它很复杂,因为它的一般性质。我认为更简单的代码可以更快地完成工作。
答案 0 :(得分:0)
我几乎肯定(你必须检查)总是存在X和Y两个点是距离的真实(我的意思是,Dist(Polyg1,Polyg2)= Dist(X,Y),X属于P1和Y属于P2),其中一个是多边形的顶点。 有了那台电脑,效率就会提高。您不必检查B1对B2仅针对B2的顶点B1和B2针对B1的顶点。
答案 1 :(得分:0)
可能值得研究四叉树或b树等结构。通过四叉树表示您的图像可以帮助您实现您想要做的任何事情。至少你可以通过在更高层次撬开树来“平滑”。