【opencv】cv2.minAreaRect()内部实现算法分析

更新时间:2023-07-14 07:45:44 阅读: 评论:0

【opencv】cv2.minAreaRect()内部实现算法分析
opencv⾥求最⼩外接矩形的函数是cv2.minAreaRect()
minAreaRect()内部实现思路:
1. 先求轮廓点集的凸包convex hull
关于凸包convex hull:
关于凸包算法
opencv⾥求凸包的函数是convexHull(),其⽤的算法是
其他的凸包算法:
2. 再求凸包的
⼏何定理:多边形的最⼩外接矩形的⼀条边必然与多边形的其中⼀条边共线
旋转卡尺算法
经期可以喝咖啡吗
根据上⾯的定理,只需要枚举多边形的边,做外接矩形,⽐较外接矩的⾯积,选最⼩的那个。(因为是矩形,所以枚举旋转超过90度结束,之后的枚举都是重复的外接矩形)
opencv⾥的函数:rotatingCalipers()
rotatingCalipers( hpoints, n, CALIPERS_MINAREARECT,(float*)out );
广东科技贸易职业学院
合作共赢英文
box.size.width =(float)std::sqrt((double)out[1].x*out[1].x +(double)out[1].y*out[1].y);
box.size.height =(float)std::sqrt((double)out[2].x*out[2].x +(double)out[2].y*out[2].y);
box.angle =(float)atan2((double)out[1].y,(double)out[1].x );
//        ((CvPoint2D32f*)out)[0] - corner
//                    ((CvPoint2D32f*)out)[1] - vector1 bad on out[0]
资金支付管理办法
//                    ((CvPoint2D32f*)out)[2] - vector2 bad on out[0]
小米山药粥的做法
//
英语文学//                      ^
1一一9九宫格数独口诀
//                      |
//              vector2 |
一望无际意思
//                      |
//                      |____________\
//                    corner        /
//                              vector1
最⼩外接矩形的另⼀种实现思路

本文发布于:2023-07-14 07:45:44,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1095757.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:凸包   算法   条边
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图