一、intersectConvexConvex函数
1、函数原型
查找两个凸多边形的交集。返回相交多边形面积的绝对值。intersectConvexConvex 不确认两个多边形都是凸的,如果不是,将返回无效结果。
float cv::intersectConvexConvex (InputArray p1, InputArray p2, OutputArray p12, bool handleNested=true)
2、参数详解
p1 | 第一个轮廓 |
p2 | 第二个轮廓 |
p12 | 描述相交区域的输出多边形 |
handleNested | 当为真时,如果一个多边形完全包含在另一个多边形中,则找到一个交点。 如果为 false,则找不到交集。 如果多边形共享一条边或一个多边形的顶点位于另一个多边形的边上,则它们不被视为嵌套,无论handleNested 的值如何,都将找到交点。 |
二、rotatedRectangleIntersection函数
1、函数原型
该函数找出两个旋转矩形之间是否有任何交集。如果存在,则也返回相交区域的顶点。
int cv::rotatedRectangleIntersection (const RotatedRect &rect1, const RotatedRect &rect2, OutputArray intersectingRegion)
2、参数详解
rect1 | 第一个矩形 |
rect2 | 第二个矩形 |
intersectingRegion | 相交区域顶点的输出数组。 它最多返回 8 个顶点。 存储为 std::vector<cv::Point2f> 或 cv::Mat 作为 CV_32FC2 类型的 Mx1。 |
3、示意图像
以下是可能的交点的一些示例。 阴影图案表示相交区域,红色顶点由函数返回。
