首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于判断两个矩形是否相交

    将需求提炼一下,问题为:判断矩形A[Pa1(Xa1,Ya1), Pa2(Xa2,Ya2)]与矩形B[Pb1(Xb1,Yb1), Pb2(Xb2,Yb2)]是否相交。...(即x轴方向与y轴方向坐标值较小的点),将其标记为`N`(图1中的橙色点); 判断:如果点`M`的x轴坐标值和y轴坐标值均比点`N`的x轴坐标和y轴坐标小(即,M点和N点可以构成一个新的矩形),则两个矩形相交...仔细观察上面列出的几种情况后,想到了一个新的思路:如果两个矩形相交,那么矩形A的中心点`Pa3(Xa3,Ya3)`与矩形B的中心点`Pb3(Xb3,Yb3)`在x轴方向上的距离和y轴方向的距离一定满足以下条件...,那么需要取得相交区域的左上角顶点与右下角坐标,有方法如下: 设相交区域的新矩形为c[(Xc1,Yc1), (Xc2,Yc2)] Xc1 = max(Xa1,Xb1) Yc1 = max(Ya1,Yb1...) Xc2 = min(Xa2,Xb2) Yc2 = min(Xa2,Xb2) 也可以通过判断上述获取新矩形的方法来判定两个矩形是否相交,方法如下: 若同时满足以下两个条件,则可以判定两个矩形相交。

    2.4K40

    图解矩阵区域和

    该矩阵可看作是一个左上角是(0,0),右下角是(i,j)围成的矩形的面积,得到该矩阵后,就可以采用面积差来计算任意矩形的面积。...比如下图求左上角(2,1)和右下角(4,3)构成的蓝色部分,可通过由(0,0)到(4,3)的面积减去绿色部分(0,0)到(1,3),减去黄色部分(0,0)到(4,0),当然红色部分(0,0)到(1,0)...是2个矩形相交的部分,会被减去2次,所以还得增加1次。...以每个格子作为中心点,根据半径可求得矩形的左上角start和右下角end,根据这2个点就可以得到上面说的4个矩形的面积了,当然还需要作边界检查,还有只有当start点既不在第一行也不在第一列时才会产生...只有当出现2个矩形的时候,才会出现相交,同时这个相交部分会被减去2次,所以还得增加1次相交部分。

    38430

    Ray-AABB交叉检测算法

    性质二:如果一条射线和AABB相交,那么这条射线和3个slab的相交部分必定有重合部分。 性质三:当射线与这三个候选面中的一个发生交叉之后,射线Ray的原点到这个面的距离要比到其他几个面的距离要长。...在上图中,我们的射线在右下角,向左上角发射,射线经过一个A点,其中候选面是y1面和x2面。   ...根据上述性质,可以看到A点同时在2D空间中的2个slab中;此外,根据性质二,因为射线与平面相交,那么这条射线与slab的相交部分必有重合部分,因为A点在射线上,且在平面中,那么可以得到max(t1,t2...在上述性质基础上,确定射线与AABB是否交叉需要三步骤: 如何确定候选面:只要将平面方程带入射线Ray的方程,求出这两个平面的t值,然后t值较小的那个自然先与射线交叉,那么就表示它是一个候选面。...如何对交叉点是否在AABB盒上进行判断。根据性质二判断,即射线与AABB碰撞的条件是max(t1,t2,t3)<=min(t4,t5,t6)。

    5.1K70

    目标检测(object detection)系列(十二) CornerNet:anchor free的开端

    网络需要输出两个Heatmap和一个embedding vector,一个Heatmap上包含了所有目标的左上角点,另一个Heatmap上包含所有目标的右下角点,embedding vector则负责预测这一堆左上角点和右下角点...但是CornerNet选择使用左上角和右下角去定义Bounding Box,原因有两个: 中心点相比左上角和右下角的点更难定义,因为中心点需要先确定四条边,但是角点不是这样,它只需要两条边,分别是到最右和最下的距离...两个heatmap分别负责左上角的点和右下角的点,它是一个二值的mask特征图,这两个heatmap上的包含了目标检测任务需要的大部分信息了,原始图像上各个目标的点,会根据目标类别不同反映到heatmap...CornerNet以ground truth点为中心的选择了一个圆,这个圆的半径选择依据时,圆内的点连起来的矩形应该可以与ground truth至少有0.3的IOU。...对于目标,它的左上角和右下角的点其实没有什么特征,它只是矩形两个边的交点而已,反而是这个矩形的上边由帽子决定,矩形的左边由手部决定。

    1.5K20

    非极大值抑制(Non-Maximum-Suppression)

    是一种获取局部最大值的有效方法。在3领域中,假设一个行向量的长度为w,从左向右,由第一个到第w个和其3领域中的数值进行比对。...第一种,选取好多矩形框的交集,即公共区域作为最后的目标区域。          第二种,选取好多矩形框的并集,即所有矩形框的最小外截矩作为目标区域。...当然这里也不是只要相交就直接取并集,需要相交的框满足交集占最小框的面积达到一定比例(也就是阈值)才合并。         ...第三种,也就是本文的NMS,简单的说,对于有相交的就选取其中置信度最高的一个作为最后结果,对于没相交的就直接保留下来,作为最后结果。         ...:重叠阈值控制// numBoxesOut:输出窗口数目// pointsOut:输出窗口左上角坐标点 // oppositePoints:输出窗口右下角坐标点// scoreOut:输出窗口得分

    51320

    计算机视觉-YOYO-

    图3:候选区域 A为图像上的某个像素点,B为A右下方另外一个像素点,A、B两点可以确定一个矩形框,记作AB。...一张输入图片可能会产生多个预测框,接下来让我们一起学习如何完成这项任务。 锚框(Anchor box) 锚框与物体边界框不同,是由人们假想出来的一种框。...先设定好锚框的大小和形状,再以图像上某一个点为中心画出矩形框。在下图中,以像素点[300, 500]为中心可以使用下面的程序生成3个框,如图中蓝色框所示,其中锚框A1跟人像区域非常接近。...交并比计算程序如下: # 计算IoU,矩形框的坐标形式为xyxy,这个函数会被保存在box_utils.py文件中 def box_iou_xyxy(box1, box2): # 获取box1左上角和右下角的坐标...) # 获取box2左上角和右下角的坐标 x2min, y2min, x2max, y2max = box2[0], box2[1], box2[2], box2[3] # 计算

    7810

    深度学习应用篇-计算机视觉-目标检测:综述、边界框bounding box、锚框(Anchor box)、交并比、非极大值抑制NMS、SoftNMS

    图片 图4 候选区域 A为图像上的某个像素点,B为A右下方另外一个像素点,A、B两点可以确定一个矩形框,记作AB。...图片 图1 边界框 通常表示边界框的位置有两种方式: 即$(x_1, y_1, x_2, y_2)$,其中$(x_1, y_1)$是矩形框左上角的坐标,$(x_2, y_2)$是矩形框右下角的坐标。...xyxy时 import numpy as np #计算IoU,矩形框的坐标形式为xyxy def box_iou_xyxy(box1, box2): # 获取box1左上角和右下角的坐标...) # 获取box2左上角和右下角的坐标 x2min, y2min, x2max, y2max = box2[0], box2[1], box2[2], box2[3] # 计算...答案:两个矩形框完全不相交。 5.非极大值抑制NMS 在实际的目标检测过程中,不管是用什么方式获取候选区域,都会存在一个通用的问题,那就是网络对同一个目标可能会进行多次检测。

    1.4K20

    目标检测(object detection)系列(十二) CornerNet:anchor free的开端

    网络需要输出两个Heatmap和一个embedding vector,一个Heatmap上包含了所有目标的左上角点,另一个Heatmap上包含所有目标的右下角点,embedding vector则负责预测这一堆左上角点和右下角点...但是CornerNet选择使用左上角和右下角去定义Bounding Box,原因有两个: 中心点相比左上角和右下角的点更难定义,因为中心点需要先确定四条边,但是角点不是这样,它只需要两条边,分别是到最右和最下的距离...两个heatmap分别负责左上角的点和右下角的点,它是一个二值的mask特征图,这两个heatmap上的包含了目标检测任务需要的大部分信息了,原始图像上各个目标的点,会根据目标类别不同反映到heatmap...CornerNet以ground truth点为中心的选择了一个圆,这个圆的半径选择依据时,圆内的点连起来的矩形应该可以与ground truth至少有0.3的IOU。...对于目标,它的左上角和右下角的点其实没有什么特征,它只是矩形两个边的交点而已,反而是这个矩形的上边由帽子决定,矩形的左边由手部决定。

    58710

    YOLOv4损失函数全面解析

    意思就是MSE损失函数将检测框中心点坐标和宽高等信息作为独立的变量对待的,但是实际上他们之间是有关系的。从直观上来说,框的中心点和宽高的确存在着一定的关系。...作者说他直接在IOU损失的基础上加了一个简单的惩罚项,用来最小化两个检测框中心点的标准化距离, 这样可以加速损失的收敛过程。如下图所示为GIOU和DIOU的对比。 ? 红色框是DIOU损失中的预测框。...比如留下了[x0, y0] 这一步是为了避免一开始w h 是负数,导致x0y0成了右下角坐标,x1y1成了左上角坐标。...boxes2_x0y0x1y1[..., 0]) * ( boxes2_x0y0x1y1[..., 3] - boxes2_x0y0x1y1[..., 1]) # 相交矩形的左上角坐标...用的是这些预测框来与gt计算iou来确定哪些预测框是反例。 # 而不是用固定大小(不固定位置)的先验框。

    3.4K40

    Uva_11722 Joining with Friend

    题目链接 题意:   两个人坐火车, 在某个城市到站的时间段分别为[t1, t2] , [s1, s2],停在站台的时间均为w。   问, 若两人能见面的概率。...这样这四条直线就围成一个矩形,若两人见面, 则应该满足在 y = x ± w 这两条直线之间。   即本题求解, y = x ± w 在矩形中所围面积 与矩形面积之比。   ...根据 y = x + b 这条线与矩形的交点不同, 把矩形分成四个区域, 计算面积这里规定以左上角的点为参考点计算。   阴影面积即为所求   1) ?   ...2)   这种情况将之补成一个三角形, 用大三角形减去小三角形的面积即可。 ?   3)   这种情况, 用矩形面积减去小三角形面积即可。 ?   4)   这种情况也用补全三角形来求解 ?   ...other)   如果直线相交于左上角, 那么面积为0. 如果在右下角, 那么面积为矩形面积。 ?

    37220

    你被追尾了

    只需要找出 矩形上离圆心最近的点,然后通过判断该点与圆心的距离是否小于圆的半径,若小于则为碰撞。 那么如何找出矩形上离圆心最近的点呢?...上图中,效仿外接图形判别法,我们将熊猫和竹子皆视为矩形,则注意,两个矩形有相交并不能说明熊猫和竹子有交,因为熊猫和竹子都并非标准的矩形(因为熊猫和竹子的像素点未必填满整个其所在的矩形),但是矩形相交是熊猫和竹子相交的必要条件...所以我们判定熊猫和竹子相交的方法是,先求出熊猫和竹子所在矩形的交集,如果该交集是空集,则显然熊猫和竹子不相交,如果不是空集,则势必也是一个矩形(记做P),所以我们只需要取出熊猫在P中的像素点,和竹子在P...中的像素点——这是两个长度相等的字节数组,如果存在某个数组索引,使得这两个数组在此索引的值都 > 0 的话,则表明熊猫和竹子相交了....这就是分离轴定理名字的由来. ? 但是程序中遍历所有光源的角度是不现实的,那如何确定 投影轴 呢?其实投影轴的数量与多边形的边数相等即可。 ?

    4.6K30

    CorelDRAW 2019 软件应用项目(五)

    文案 作品展示 一.新建 A4 大小纸张 将长宽分别改为 210mm 和 297mm,将矩形覆盖整个纸张 二.填充背景颜色 界面右下角,有有系统和钢笔,点击油漆桶后面的色块,在菜单栏中选择第二个纯色填充...选择对页面居中,就可以得到在镇中心的圆,随机填充一种颜色,并且取消描边,复制这个椭圆,在原地粘贴 如果什么都不按进行缩小,会以图形外八点组成矩形的对角线端点进行缩放,八点中,在边正中四点,会改变图形的长和宽...你也可以在之前就复制两个一模一样的校园,将一个圆托拽到旁边备用,然后再把他拖进去,然后点击对齐和分布,让该图居中即可。 同样选中这两个圆,直接点击移除前面对象,这样两个图层同时被裁减。...它是圆形把手的运动路径,你可以理解为有两个方形颜色产生的渐变围绕着一个方形为圆心,袁心和空心圆把手为半径进行旋转,以至于原本填充的条形渐变经过圆形把手沿路径旋转后形成的中心向外渐变,椭圆虚线界限最远端可达另一个色块和圆形把手处当圆心与另一个色块和圆心与圆型...,互换双方方形色块的位置,体积感觉塑造出来了 四.文案 输入“keep thinking”将它垂直排列,运用水平翻转和垂直翻转放置到画面的左上角和右下角。

    1.7K10

    关于碰撞检测

    、bottom、top为矩形的左、右、上、下坐标值) 第二种: 两个矩形中心点在x方向的距离的绝对值小于等于矩形宽度和的二分之一,同时y方向的距离的绝对值小于等于矩形高度和的二分之一。...计算两个圆心之间的距离是否小于两个圆的半径和。...下面是数学表达式: (x1 – x2)2 + (y1 – y2)2 <(r1 + r2) 3.矩形与圆碰撞 通过找到矩形上与圆形最近的点,判断其与圆心的距离,如果小于半径就碰撞 定义: 矩形上离圆心最近的点为变量...因此,通过上述方法即可找出矩形上离圆心最近的点了,然后通过『两点之间的距离公式』得出『最近点』与『圆心』的距离,最后将其与圆的半径相比,即可判断是否发生碰撞。...两个矩形的时候,要想保证相交,必须一个矩形的左边界小于另一个矩形的右边界,一个矩形的下边界小于另一个矩形的上边界。

    1.1K10

    Java工程师校招面经总结

    ,你觉得和其他的字符集相比,有什么区别   Ø Oracle数据库中分别使用什么函数查看字符串的字符数和字节数   Ø 开发中如何解决SQL注入的问题、是否了解其他数据库   Ø Linux中如何查看cpu...和SVN   Ø 有两个链表,如何判断它们是否相交   Ø 有两个单链表(不存在环),不借用任何其他数据结构,怎么遍历一次就判断是否相交   Ø TCP是如何来保证可靠的传输的   Ø  如何你和你的同事同时在开发项目...50字节,那么请教字符流中的所有的邮箱提取出来   Ø  现在有一个n*n的方格,里面每个格子都有大于等于0的数值大小,那么现在需要从左上角走到右下角(只能有两个方向可以走),请问怎么走才能使得走过的格子的和最大...  Ø  如果要求从左上角走到右下角,经过的格子的值大小置为0,再从右下角走到左上角,怎么样才能使得两次走过的和最大   Ø  如果要求从左上角到右下角,再从右下角走到左上角,再从左上角走到右下角...,经过的格子的值大小置为0,怎么样才能使得两次走过的和最大   Ø 在一个平面中有两个矩形,现在知道两个矩形的坐标,那么请判断这两个矩形是否有重叠。

    1.2K70
    领券