1

我正在为我正在进行的项目寻求帮助。

我正在做的是一个多边形逼近算法。我已经得到了边界的所有点,但是为了启动算法,我需要从点集中找到左上角和右下角的点。所有点都存储在一个结构数组中,该数组具有每个点的 x 和 y 坐标。关于循环点数组的简单方法的任何想法?

任何帮助将不胜感激。如果您需要更多信息,请询问,我会尽力提供。

4

2 回答 2

2

根据您的评论,左下角是min(x+y),右上角是max(x+y)

左上方:min(x+max(y)-y)

右下角:max(max(x)-x+y)

其中内部max是一个常数。

尽管这可能并不总是给出与您的眼睛一致的结果。

可以根据与对象边界框角的距离或距离的平方等构建替代度量。

另一种技术是围绕原点平移多边形,然后左上角是离原点最远的点,但在左上象限......这给出了一大堆关于放置位置的选择(0,0)可能是所有的平均值,可能是基于某些规则的加权平均值等。如果您选择的多边形与眼睛会选择的多边形不同,那么每个规则可能会给出非常小的结果。

最后你总是可以训练一个神经网络来选择答案......这可能会导致(插入训练的置信度限制)%可能给出你同意的答案......但你和我可能不同意

于 2012-11-22T07:32:41.760 回答
0

左上角:min(x+max(y)-y)

右下:min(max(x)-x+y)

其中内部最大值是一个常数。

于 2016-10-13T09:54:31.410 回答