判断两个矩形是否有重叠

本文介绍了如何判断图像中的两个矩形是否有重叠,并通过计算重叠面积来确认重叠程度。针对无重叠的情况,列举了四种边界条件,并提供了相应的数学表达式。同时,给出了两种不同的实现方法,包括直接判断重叠条件和求解重叠区域的面积,以确定矩形是否重叠。
摘要由CSDN通过智能技术生成

今天笔试遇到这个题目,原来是图像中的问题:判断图像中检测到的两个人脸框矩形是否有重叠部分,并计算重叠大小,从而确认是否为同一个人脸。

直接判断的话,情况有点多,比如:
在这里插入图片描述
这样代码就比较繁琐了。
如果是先考虑没有重叠呢?
在这里插入图片描述
如上图所示,没有重叠的话,可以分为四种情况,假设红色矩形为A,绿色矩形为B,那么B可以分别在A的上、下、左、右四种情况。

设A的左上角坐标为p1,右下角坐标为p2,B的左上角坐标为p3,右下角坐标为p4,假设边重叠不算重叠。
当B在A的上方时: p 1 . y ≤ p 4 . y p_1.y \leq p_4.y p1.yp4.y
当B在A的下方时: p 3 . y ≤ p 2 . y p_3.y \leq p_2.y p3.yp2.y
当B在A的左方时: p 1 . x ≥ p 4 . x p_1.x \geq p_4.x p1.xp4.x
当B在A的右方时: p 2 . x ≤ p 3 . x p_2.x \leq p_3.x p2<

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值