定向边界框的非极大值抑制功能挺适合复杂重叠框的情况,尤其是做目标检测、图像时,经常会遇到 OBB 重叠的问题。这个nms_orienting_rectangles函数就派上用场了。

基于分离轴定理来判断两个框是不是重叠的,思路清晰,效果也不错。函数是基于 XY 坐标系,不是 Matlab 常用的行列坐标,所以要注意下坐标转换。比如图像时,原来是按(行, 列)来的,得换成(x, y)再调用。

语法不复杂,调用方式也挺直接,几行就能跑通。用在目标检测后那一步,还挺省事的。响应也快,代码也简单。

如果你在用MATLAB 做图像,尤其是涉及旋转框的检测结果,这个方法可以帮你快速压掉重复框,输出更干净。

哦对了,坐标系相关的转换问题,你也可以看看这些参考资料:

如果你正好在 OBB 的 NMS 问题,建议试试看,调通一次之后后面用就顺手多了。