我正在寻找一些我正在进行的项目的帮助。
我正在做的是多边形近似算法。我已经获得了边界的所有点,但是为了启动算法,我需要从点集中找到左上角和右下角。所有点都存储在具有每个点的x和y坐标的结构数组中。有什么想法可以简单地循环遍历点阵列?
非常感谢任何帮助。如果您需要更多信息,请询问,我会尽我所能。
答案 0 :(得分:2)
根据您的评论,左下角为min(x+y)
,右上角为max(x+y)
左上角:min(x+max(y)-y)
右下角:max(max(x)-x+y)
内部max
是常数。
虽然这可能并不总能给出与您的眼睛一致的结果。
可以根据物体边界框角落的距离或距离的平方等构建替代指标。
另一种技术是围绕原点转换多边形,然后左上角是距离原点最远的点,但是在左上象限......这给出了关于放置(0,0)
的位置的整堆选择可以是所有的平均值,可以是基于某些规则的加权平均值等。如果你选择的方式有很多变化,如果多边形来自眼睛会选择多边形,则每个结果可能会给出非常小的数字。
最后,你总是可以训练一个神经网络来挑选答案....这可能会导致一些事情(插入训练中的置信限制)%可能给出你同意的答案......但你和我可能不同意
答案 1 :(得分:0)
左上:min(x + max(y)-y)
右下:min(max(x)-x + y)
内部最大值是常数。