计算两个矩形列表的重叠

Posted

技术标签:

【中文标题】计算两个矩形列表的重叠【英文标题】:Calculate overlap for two lists of rectangles 【发布时间】:2020-04-28 11:47:35 【问题描述】:

给定两个轴对齐矩形列表 R1 和 R2。列表的长度分别为 n 和 m。对于 R1 中的每个矩形,我想知道它与 R2 中的每个矩形重叠的程度。作为重叠的度量,我会使用联合交集(IoU)。

问题:我必须进行 n x m 比较还是有更快的方法?

我发现的所有解决方案都集中在您只有一个矩形列表而不是两个列表的问题上。

【问题讨论】:

【参考方案1】:

为其中一个列表构建 R-tree,并检查另一个列表中的矩形是否与 r-tree 项相交。

在这种情况下,您可以将复杂性从 O(n*m) 降低到 O(nlogn+mlogn)

【讨论】:

以上是关于计算两个矩形列表的重叠的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 两个轴对齐矩形是否重叠,以及计算两个轴对齐矩形的重叠比例。具体算法说明,请参见http://blog.csdn.net/qianchenglenger/article/details/50

c++ 计算两个矩形重叠面积 (粗略版)(c++ calculate the overlap area of two rectangles, a rough version)

Torch 两个矩形框重叠面积的计算 (IoU between tow bounding box)

Android 里canvas 绘制了两个矩形,交叉位置颜色重叠

836. 矩形重叠

C++编程,求俩矩形重叠面积的代码