如何使用图像中最近的位置自动重新排列框?

How to rearrange boxes automatically using nearest position in an image?

我有两个装订框。一个用于预测,其中包含 3 行 第二个是包含两行的基本事实。

真值框 (x,y,w,h)

[[210, 98, 103, 88],
 [62, 75, 150, 120]]

谓词框 (x,y,w,h)

[[218, 104, 94, 69],
 [154 ,184, 34, 9],
 [67, 77, 143, 100]]

如果我需要使用 MATLAB 函数计算边界框重叠率 bboxOverlapRatio。该函数使用谓词中的第一行评估基本事实的第一行框。然后第二行的基本事实与来自谓词框的第二行进行评估。该功能评估 逐行使用顺序技术绑定框。 问题是:什么函数可以使用最近的位置重新排列谓词框或根据框在图像中的出现自动对框进行排序?我想重新排列以获得高比例。

没有MATLAB函数怎么办?

这是一个示例代码:

groundTruth = [210  98  103 88, 62  75  150 120]
predicate = [218 104 94 69, 154 184 34  9, 67 77 143 100];
ratio = bboxOverlapRatio(groundTruth,predicate)

感谢任何帮助。

根据函数文档bboxOverlapRatio

输出矩阵中的每个(I,J)元素对应bboxA中第I行与bboxB中第J行的重叠率.

对于该函数,您的第一个参数 (bboxA) 是 groundTruth,bboxB 是 predicate。因此,在比率数组中,元素[0,1]表示grountTruth[0]predicate[1]之间的重叠比率。因此,对于 groundtruth[1],您可以遍历 [1,0], [1,1], [1,2] 并找到其中的最大值。由于 [1,2] 是最大值,这表明对于 groundTruth 中的第 1 行,predicate 中的第 2 行具有最大值。

这可能很有用 - max,尤其是 Return 线性指数.

部分