首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

给定边界框和一条线(两个点),确定该线是否与框相交

这个问题涉及到计算几何学的知识,可以使用线性代数和几何学的方法来解决。

首先,我们可以将边界框表示为四个点,然后将这四个点转换为向量。接下来,我们可以将给定的两个点表示为向量,并计算这两个向量的方向向量。然后,我们可以计算这两个方向向量与边界框的四个向量之间的叉积,如果叉积的符号相同,则该线与边界框相交。

具体来说,我们可以使用以下步骤来计算:

  1. 将边界框表示为四个点,例如:A(x1, y1)、B(x2, y1)、C(x2, y2)、D(x1, y2)。
  2. 将这四个点转换为向量,例如:AB = B - A = (x2 - x1, y2 - y1)、BC = C - B = (x2 - x2, y2 - y1)、CD = D - C = (x1 - x2, y1 - y2)、DA = A - D = (x1 - x2, y1 - y2)。
  3. 将给定的两个点表示为向量,例如:P1 = (x3, y3)、P2 = (x4, y4),则线段可以表示为向量P1P2 = P2 - P1 = (x4 - x3, y4 - y3)。
  4. 计算线段P1P2与边界框的四个向量之间的叉积,例如:AB x P1P2、BC x P1P2、CD x P1P2、DA x P1P2。
  5. 如果叉积的符号相同,则该线与边界框相交。

以上就是一种解决该问题的方法,可以使用编程语言来实现该算法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ArcGIS根据相邻关系提取相邻面&提取面公共线

因此,如果某面的外边界左侧(外部)孔洞边界左侧(内部)均没有相邻,则生成线的 LEFT_FID 值为 -1,而 RIGHT_FID 则设为面要素 ID。...3.如果两个面共用一部分边界,则将生成一条输出线表示该公共线段。该线的方向可以是任意的;LEFT_FID RIGHT_FID 将相应地设置为左侧或右侧面要素 ID。...4.如果一个面另一个面重叠,那么将生成两条输出线以便分别表示每个相交边界:第一条线表示其中一个重叠面的外边界,因此该线的 LEFT_FID 为与其相交的面的要素 ID,而 5.RIGHT_FID 将为它自己的面要素...ID;第二条线呈反方向,并会分割另一个面,因此该线的 LEFT_FID RIGHT_FID 将与这第二个面的要素 ID 相同。...可以看出如果两个面之间如果存在公共边界,则输出的属性字段为该线左侧或右侧面要素 ID。

1.5K10

即插即用 | 或许你的NMS该换了,Confluence更准、更稳的目标检测结果

第1阶段使用置信加权曼哈顿距离启发接近测量来评估边界的一致性。第2阶段涉及移除所有保留的边界Confluence边界。 3.1 曼哈顿距离 曼哈顿距离或范数,是两个之间垂直水平距离的总和。...相比之下,P度量允许边界指定一个给定对象的所有其他边界最Confluence,使其更鲁棒。 3.2 标准化 前面讨论的方法在边界大小相似的情况下有效地发挥作用。...归一化算法对各坐标进行如下变换: 标准化允许通过使任意两个大的目标内边界任意两个小的目标间边界的关系相比较来区分目标内边界目标间边界,如图3所示。...标准化通过保留边界之间的重叠关系来解决这个问题,同时确保可以比较任意两个边界关系。 3.3 类内保留删除 由于所有坐标对都归一化在0到1之间,因此任何一对相交边界的接近值都小于2。...相反,Confluence通过考虑置信分数c之竞争的边界的P值来评估给定边界b的最优性。

47620
  • 使用OpenCV搭建违章停车检测系统

    之后我们使用OpenCV中的fillPoly函数将感兴趣区域填充上,以便于我们判断车辆是否感兴趣区域相交。...所以,我对这个案例提出了一个假设:如果一个车辆/边界这个 ROI 相交,它肯定也边界的底线相交。...当它发生在特定帧内的那一刻,我们立即附加该事件的帧号frame_num车辆类型(class_name),车辆跟踪 ID(str(t))该车辆在该帧的边界坐标 chk_index = str(frame_matrix...如果这个相交点是第一次发生,则不满足这个条件,程序进入下一帧,没有任何进一步的交互。但是想象一下,如果这是车辆感兴趣区域相交后的第二帧,那么会为这个chk_index变量赋一个值。...此外,当该条件为真时,将会有关于边界的前一帧日志详细信息获取到另一个名为previous_bbox_co_str的变量中。 现在我们知道了车辆在当前帧前一帧的边界坐标。

    44530

    POSTGIS 总结

    边界(bounding box)是平行于坐标轴且包含给定地理要素(feature)的最小的矩形。 空间索引不像B树索引那样提供精确的结果,而是提供近似的结果。...以下语句分辨检查了2个几何对象的正确性,显然,(0, 0)(1,1)可以构成一条线,但是(0, 0)(0, 0)则不能构成,这个语句执行以后的得出的结果是TRUE,FALSE。...ST_Touches() 测试两个几何图形是否在它们的边界上接触,但在它们的内部不相交 如果两个几何图形的边界相交,或者只有一个几何图形的内部另一个几何图形的边界相交,则**ST_Touches(geometry...如果多点中有两个两个以上的重合(也就是坐标一致),那么它就不是简单的,但是确是有效的 7.2 线串的简单性有效性 7.2.1 单线串 单线串(LINESTRING)如果有重叠、相交就不是简单的(除了端点相交...图形的实际形状相同,则图形相等 8.3 等边界(=) 在最坏的情况下,需要精确相等来比较几何图形中的每个顶点以确定相等。这可能会比较慢,并且可能不适合数量大的几何图形。

    6K10

    计算几何算法概览

    判断两线段是否相交:   我们分两步确定两条线段是否相交:   (1)快速排斥试验     设以线段 P1P2 为对角线的矩形为R, 设以线段 Q1Q2 为对角线的矩形为T,如果RT不相交,显然两线段不会相交...判断线段、折线、多边形是否在矩形中:   因为矩形是个凸集,所以只要判断所有端点是否都在矩形中就可以了。   判断矩形是否在矩形中:   只要比较左右边界上下边界就可以了。   ...Q-P'完全连续,所以P1QQP'一定跨越多边形的边界,因此在P1,P'之间至少还有两个该线多边形的交点,这P1P2是相邻两交点矛盾,故命题成立。...计算线段或直线线段的交点:   设一条线段为L0 = P1P2,另一条线段或直线为L1 = Q1Q2 ,要计算的就是L0L1的交点。  1....如果L平行于X轴,做法L平行于Y轴的情况类似;   4. 如果L既不平行X轴也不平行Y轴,可以求出L的斜率K,然后列出L的斜式方程,圆方程联立即可求解出L圆的两个交点;   5.

    1.6K40

    使用反事实示例解释 XGBoost 模型的决策

    几个叶子/的交集会出现新区域,其得分是通过将相交形成这些区域的各个的得分相加来确定的。例如,绿色区域的得分通过计算S1+S2+S3确定,红色区域的得分通过计算S1+S3确定。...在上图中,三个 B1、B2 B3 的交集出现了两个新的决策区域(以红色绿色突出显示)。我们无法确定这些区域属于哪个类别,除非我们将相交形成这些区域的的分数相加。好吧,你猜怎么着?...实际上,以蛮力的方式表述,问题将等于确定,对于任何一组“k”个,这些“k”个是否形成最大的交叉区域,即它们的交叉区域是否不为空,并且如果有 “k”之外的其他盒子不考虑该区域相交的盒子。...如果两个盒子根据某一特定维度不相交,则它们根本不相交。在左图中,两个根据尺寸 d1 相交,但不根据尺寸 d2 相交。在右图中,两个根据尺寸 d2 相交,但不根据尺寸 d1 相交。...在树状结构的每个节点中,我们总是解决相同的交集问题:给定一个列表节点关联的输入空间的维度,我们寻找这个维度中的最大交集,即 我们解决了前面提到的组合问题,但在一个维度上。

    69310

    一篇文章带你玩转PostGIS空间数据库

    ST_Intersects、ST_CrossesST_Overlaps都用于测试几何图形内部是否相交。...ST_Touches()测试两个几何图形是否在它们的边界上接触,但在它们的内部不相交 ST_Within()ST_Contains()测试一个几何图形是否完全包含于另一个几何图形内 ST_Distance...但是黄色相交的范围有红色蓝色,共 2 个。...数据库求解 “什么线黄色星相交” 这个问题,是先用空间索引求解 “什么范围黄色范围相交” 这个问题的(速度非常快),然后才是 “什么线黄色的星星相交”。...关于它们的交集的DE9IM矩阵如下: 请注意,以上两个要素的边界实际上根本不相交(线的端点多边形的内部相交,而不是多边形的边界相交,反之亦然),因此B/B单元用"F"填充。

    5K50

    农业银行算法题,为什么用初中知识出题,这么多人不会?

    points.length <= 300 points[i].length = 2 -10^4 <= x_i, y_i <= 10^4 points 中的所有点互不相同 枚举直线 + 枚举统计 我们知道,两可以确定一条线...一个朴素的做法是先枚举两确定一条线),然后检查其余是否落在该线中。 为避免除法精度问题,当我们枚举两个 x y 时,不直接计算其对应直线的 斜率 截距。...而是通过判断 x y 第三个 p 形成的两条直线斜率是否相等,来得知 p 是否落在该直线上。 斜率相等的两条直线要么平行,要么重合。...平行需要 4 个点来唯一确定,我们只有 3 个,因此直接判定两条直线是否重合即可。...详细说,当给定两个 (x_1, y_1) (x_2, y_2) 时,对应斜率 \frac{y_2 - y_1}{x_2 - x_1} 。

    25510

    算法 - PNPoly解决多边形问题

    最近做了一个算法题【盒马配货】: (题目大意)盒马店的配送范围由一些组成的多边形确定给定一个判断其是否在配送范围内,若在,则此不需要挪动,打印"no 0";若不在,则给出此需要挪动到配送范围的最短距离...如何求解点到多边形的距离 此题求解需要解决两个问题: 点到多边形的边的最短距离。 是否包含在多边形内。...contained; }} 每次计算都涉及到相邻的两个待测试点,然后考虑两个问题: 被测试点的纵坐标testy是否在本次循环所测试的两个相邻纵坐标范围之内,即 ys[i]<y <="" ys...这个表达式的意思是说,随便画个多边形,随便定一个,然后通过这个水平划一条线,先数数看这条横线多边形的边相交几次(可先排除那些不相交的边,即第一个判断条件),然后再数这条横线穿越多边形的次数是否为奇数...点在直线下 - 相交判断 如下图,ab过p的水平线相交于c, ? 则有: ? Java代码实现: if (((ys[j] > y) !

    2.4K31

    python地理处理包shapely

    两个几何体之间的Hausdorff距离是任意一个几何体上的一个另一个几何体上的最近之间的最远距离 >>> point = Point(1, 1) >>> line = LineString([(2...a)有效,其中一个内环在一个外环接触; b)无效,因为它的内环在多个外环接触; c)无效,因为它的外环内环沿一条线接触; d)无效,因为它的内环沿着一条线接触 1、Polygon的面积长度不为...例如,两个LineStrings 可以沿一条线在一个相交。为了表示这些结果,Shapely提供了类似冻结集的、不可变的几何对象集合。...a)一条绿色黄色的线,沿着一条线以及一个相交; b)交点(蓝色)是一个包含一个LineString 一个Point的集合 1、GeometryCollection的成员可以通过geoms属性或迭代器协议...a)有效的有两个成员的MultiPolygon; b)无效MultiPolygon,因为它的成员接触到无限多个(沿着一条线) 1、其 x-y 边界范围是(minx, miny, maxx, maxy

    4.3K40

    【Android 应用开发】Canvas 精准绘制文字 ( 测量文本真实边界 | 将文本中心给定中心对齐 )

    文章目录 一、测量文本真实边界 二、将文本中心给定中心对齐 一、测量文本真实边界 ---- Paint.getTextBounds() 函数原型如下 : public class Paint {..., bottom = 0 , 说明文本的底部就是基线 ; 上述 Rect 的坐标轴是这么算的 , x 轴是文本的基线轴 , y 轴是绘图区域的左侧边界 ; 一定要确定两个概念 , 下图 红色矩形 的区域...绘图区域 真实文本区域 的差异 , 就导致了 文字绘图 不准确 , 不好定位的问题 ; 二、将文本中心给定中心对齐 ---- 给定中心 ( x , y ) ; 绘制文本 , 使得 文本的中心... 给定的中心对齐 ; 根据中心位置 : 确定绘制文本的左侧位置 : x - (rect.left + rect.right) / 2 , 绘制的文本 , 是下图红色矩形的位置 , 文本的位置是不确定的..., 可能在红色矩形框内的任意位置 , 需要借助 Rect 边界确定文本位置 , 确定绘制文本的顶部位置 : y - (rect.top + rect.bottom) / 2 , 绘制的文本 , 是下图红色矩形的位置

    1.3K20

    Mastercam9.1

    Named        依系统视角管理确定视角 Entity        图素定面 Rotate        旋转定视角 Dynamic        动态视角,可以动态旋转、缩放、平移任意改变视角...(店铺) 投影至面 生成投影到曲面上的投影(沿着曲面法向或垂直于构图平面投影)或生成通过投影沿着曲面法向及给定长度的一矢量线         Prep/Dist 法向/距离        生成一直线...生成小于给定半径的圆弧的圆心 Line   线段        Horizontl 水平线 生成X轴平行的线         Vertical 垂直线 生成Y轴平行的线         Endpoint...Angle        给一个角度长度,一曲线相切的线                 2 Arcs 二圆弧相切的线                 point        通过一, 一曲线平行的线...pt Dia cir 直径圆 给出圆心,直径,生成一个圆         pt edG cir 边界圆 给出圆心圆上一,生成一个圆 Fillet    倒圆角 对二个图素作倒圆角处理 选择参数

    2.6K20

    一个鲁棒实时且无需校准的车道偏离警告系统

    为了实现这一目标,如图2所示,通过提取自适应ROI,确定了图像中最关键的部分— 包含地面的底部部分。ROI定义由六个组成,其中前两个是图像的左下角右下角,而其他则根据车道线的y截距值计算。...线段检测是线检测的一个关键步骤,它可以分为两个子阶段:边缘检测线段检测。以下将介绍这两个子阶段。 边缘检测:边缘检测是一种数学方法,用于识别图像中亮度变化较大的。...我们的目标是将相邻的线段聚类在一起,形成一条线。我们通过计算它们之间的距离来判断线段是否相邻,计算距离的公式如下: 我们设置了一个阈值,以便将距离较近的线段合并为一条线,其特征值由这些线段的均值表示。...通过线聚类解决的问题的示意图 车道线跟踪 在车道线跟踪中,主要通过追踪先前帧中车道线的历史信息来实现两个目的:一是从当前检测到的线中选择车道边界相关的线,二是在车道边界不可见时预测它们的位置。...车道由其边界定义,为了将其位置车辆位置进行比较,通过将车道边界图像底部相交(其方程为 y = 图像高度),确定边界的中点。相交点之间的中距离将是中点。

    26410

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

    图片 图4 候选区域 A为图像上的某个像素,B为A右下方另外一个像素,A、B两可以确定一个矩形,记作AB。...这里我们介绍其中的一种方法:它以每个像素为中心生成多个大小宽高比(aspect ratio)不同的边界。这些边界被称为锚(anchor box)。...在目标检测任务中,我们会先设定好锚的大小形状,再以图像上某一个为中心画出这些锚,将这些锚当成可能的候选区域。...此时,判断锚是否包含物体就需要用到交并比,当锚真实交并比足够大时,我们就可以认为锚中包含了该物体;而锚真实交并比很小时,我们就可以认为锚中不包含该物体。...但是,传统的 NMS 算法会存在以下缺点:IOU阈值难以确定,阈值太小,则容易发生漏检现象,当两个相同类别的物体重叠非常多的时候,类别得分较低的物体则会被舍弃;阈值太大,则难以消除大部分冗余

    1.2K20

    车道障碍物检测用于驾驶期间的主动辅助

    如果看下面的图像,车道线看起来地平线相交。这被称为消失点。在俯视图中,消失点或地平线附近的比前视图中的更远。必须将一组从前视图中的源图像映射到顶视图上的一组图像。...用于识别图像中的线条形状的霍夫变换使用投票算法和约束来确定给定一组的候选线。已经将这些控件标记为图像尺寸,这似乎可以为不同帧尺寸的线条提供合理的预测。...图8确定韧皮适合车道 一旦获得了曲线,就可以将它与前一帧中获得的曲线进行比较,以检查它们是否彼此接近。足够接近接受曲线,否则继续前一帧的估计。...如果车辆在车道中,车辆正在被驾驶(由简单的代数不等式确定),可以根据观察到的速度确定前车相对于自我车辆减速时的碰撞时间(参见图下面的13)。 图13前视图俯视图 所有测量均基于到边界的距离。...在测量到车辆的距离时的假设是边界的下边缘道路的平面相交。在大多数情况下,如果在道路中间有一个分隔线或者遮挡视线的车辆,则会将裁剪出的边界裁剪掉。车辆将显得比实际更远。

    1.6K50

    「Adobe国际认证」Adobe Photoshop,如何裁剪并拉直照片?

    裁剪边界显示在照片的边缘上。 2.绘制新的裁剪区域,或拖动角边缘手柄,以指定照片中的裁剪边界。 3.(可选)使用控制栏指定裁剪选项。 大小比例选择裁剪的比例或大小。...启用裁剪屏蔽使用裁剪屏蔽将裁剪区域色调叠加。您可以指定颜色不透明度。如果您启用“自动调整不透明度”,那么当您编辑裁剪边界时会降低不透明度。...照片会被翻转对齐以进行拉直。画布会自动调整大小以容纳旋转的像素。 要拉直照片,请执行以下操作之一: 将指针放置在角句柄靠外一的位置,然后拖动以旋转图像。...例如,沿着水平方向或某个边绘制一条线,以便沿着该线拉直图像。 裁剪时变换透视 透视裁剪工具允许您在裁剪时变换图像的透视。当处理包含梯形扭曲的图像时使用透视裁剪工具。...2.执行下列操作之一: 在“宽度”“高度”中输入画布的尺寸。从“宽度”“高度”旁边的弹出菜单中选择所需的测量单位。 选择“相对”,然后输入要从图像的当前画布大小添加或减去的数量。

    2.9K10

    COOPERATING RPN’S IMPROVE FEW-SHOT OBJECTDETECTION

    报告有标签的的评估过程使用相交-并集(IOU)测试作为确定是否相关的一部分。一个被训练为少样本检测的检测器被训练为两种类型的类别。基本类别有许多训练示例,用于训练RPN分类器。...我们将多个RPN训练得有些冗余(这样,如果一个RPN错过了一个高欠条,另一个会得到它),而不会过度预测。接下来,我们将演示如何做到这一,以及如何平衡冗余过度预测。...如图2所示,Faster R-CNN是一个串行检测器,它包括一个主干图像特征提取器,一个区域建议网络(RPN),然后是感兴趣区域池化层,在模型的上方是一个边界分类器一个边界回归器。...阶段2用新的类实例微调头分类器边界回归器;在提案生成器之前的一切都被冻结了。?...在我们的例子中,我们同时训练N个不同的二值分类器,并且必须确定(1)在测试时做出什么预测,(2)在训练时哪些梯度归哪些分类器。在测试时,一个给定从最确定的RPN中获得分数。

    1.4K10

    【前沿】简化标注者工作:Google等学者提出基于智能对话的边界标注方法

    为了降低成本,最近的工作探索了更简单的人工监督形式,比如图像级标签,验证序列,标注眼球跟踪。...该方案从给定的弱检测器开始,通常仅在图像标签上进行训练,并使用它来定位图像中的目标。对于每个图像,要求标注者验证由该算法产生的是否足够紧密地覆盖目标。...如果不是,则该过程进行迭代:该算法生产另一个,标注者验证它。 ? 图1 左:目标类别为猫的图像。弱检测器确定两个高分检测。 在这种情况下,最好的策略是做一系列的验证。...在本文中,作者将介绍用于边界标注的智能标注对话(IAD)。给定一个图像,检测器目标类别进行标注,IAD的目标是自动选择标注行为序列,它能在最少的时间内产生边界。...作者考虑两种方法来做到这一,a)通过预测提出的是否会被正面或负面验证(4.1节),b)通过直接预测事件持续时间(4.2节)。

    88650

    UG编程手册

    四、边界中的刀具定位 刀具定位确定刀具边界成员之间的位置关系,有三种位置关系:On, Tanto Contact。...七、边界类型:开放式封闭式边界 能够确定一个区域的边界为封闭式边界,第一个成员的起点最后一个成员的端点为同一;仅确定一个路径的边界为开放式边界,第一个成员的起点最后一个成员的端点不共,见下图。...(边界成员延伸相交或增加边界成员)。...当用永久边界生成临时边界时,临时边界永久边界的“父亲”几何相关,也就是说,删除永久边界,不会影响由它产生的临时边界。当使用生成临时边界时,你有机会确定是否临时边界保持相关性。...一个正的Angle 2是这样确定的:在第一个切削处,包含Angle 1并垂直工件表面的平面上,顺时针为正。 l Angle,Angle,Distance 利用两个角度距离指定进给移动。

    2.2K30
    领券