我需要计算多边形周围的最小区域矩形( 最小可能的矩形 )。
我唯一的输入是多边形中的点数。
我也有积分的坐标。
将旋转卡尺算法用于凸多边形,否则使用凸包。 您当然需要多边形中点的坐标,而不仅仅是点的数量。
这称为最小边界框 ,它是OCR包中使用的最基本算法。 您可以使用OpenCV包中的Rotating Calipers找到实现。 获得源代码后,请查看此文件,
cv/src/cvrotcalipers.cpp
您需要的方法是cvMinAreaRect2()
。
首先进行格拉姆扫描并获得该组点的凸包 。 然后你可以使用这里讨论的最小矩形
请遵循以下算法
有关详细信息,请检查链接Minimum-Area-Rectangle
显然,你需要点的坐标才能得到答案。 如果矩形与X和Y aces对齐,那么解决方案是微不足道的。 如果你想要任何角度的最小矩形,那么你需要做一些优化过程。
以上就是c/c++开发分享计算多边形的最小面积矩形相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/562512.html