我正在为我正在进行的项目寻求帮助。
我正在做的是一个多边形逼近算法。我已经得到了边界的所有点,但是为了启动算法,我需要从点集中找到左上角和右下角的点。所有点都存储在一个结构数组中,该数组具有每个点的 x 和 y 坐标。关于循环点数组的简单方法的任何想法?
任何帮助将不胜感激。如果您需要更多信息,请询问,我会尽力提供。
根据您的评论,左下角是min(x+y)
,右上角是max(x+y)
左上方:min(x+max(y)-y)
右下角:max(max(x)-x+y)
其中内部max
是一个常数。
尽管这可能并不总是给出与您的眼睛一致的结果。
可以根据与对象边界框角的距离或距离的平方等构建替代度量。
另一种技术是围绕原点平移多边形,然后左上角是离原点最远的点,但在左上象限......这给出了一大堆关于放置位置的选择(0,0)
可能是所有的平均值,可能是基于某些规则的加权平均值等。如果您选择的多边形与眼睛会选择的多边形不同,那么每个规则可能会给出非常小的结果。
最后你总是可以训练一个神经网络来选择答案......这可能会导致(插入训练的置信度限制)%可能给出你同意的答案......但你和我可能不同意
左上角:min(x+max(y)-y)
右下:min(max(x)-x+y)
其中内部最大值是一个常数。