matlab - 如何使用图像中最近的位置自动重新排列框?
问题描述
我有两个装订盒。一个用于预测,其中包含 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]
之间的重叠比率。因此,对于,您可以遍历并找到其中的最大值。由于是最大值,这表明对于 groundTruth 中的第 1 行,谓词中的第 2 行具有最高值。grountTruth[0]
predicate[1]
groundtruth[1]
[1,0], [1,1], [1,2]
[1,2]
这可能很有用-max,尤其是Return Linear Indices部分。
推荐阅读
- python - 值更改时如何防止打印幻灯片?
- python - 功能旋转后水平曲线不匹配
- c# - 如何在 WebBrowser 控件的表中插入新行
- excel - 如何删除整个工作簿的空范围,不包括几张纸?
- amazon-web-services - 如何处理 Lambda 在 S3 上添加的文件并能够将数据转储到 redshift
- ios - Swift 包管理器:二进制目标的工件下载失败:无效状态码 404
- powershell - Invoke-VMScript:不确认/重新输入访客凭据
- python - 我如何获取 targetencoder 的参数名称?网格搜索
- python - 在迭代 for 循环中应用容差
- debugging - 为什么 Spyder 调试器看起来完全没有响应?