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

问题描述

我有两个装订盒。一个用于预测,其中包含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],2]并找到其中的最大值。由于[1,2]最大,这表明对于groundTruth中的第1行,谓词中的第2行具有最高的值。

这可能很有用-max,尤其是返回线性索引部分。