OpenCV groupRectangles - 获取分组和未分组的矩形

Ben*_*ing 17 c++ opencv rectangles

我正在使用OpenCV并希望将具有显着重叠的矩形组合在一起.我已经尝试过groupRectangles这个,它采用了一个组阈值参数.如果阈值为0则根本不进行任何分组,并且阈值为1时,仅返回由至少2个矩形组成的矩形.例如,给定下图中左侧的矩形,您最终得到右侧的2个矩形:

在此输入图像描述

我想最终得到的是3个矩形.上图中右侧的2,加上左侧图像右上角的矩形,不与任何其他矩形重叠.实现这一目标的最佳方法是什么?

Ben*_*ing 18

我最终使用的解决方案是在调用之前复制所有初始矩形groupRectangles.这样,每个输入矩形都保证与至少一个其他矩形分组,并将出现在输出中:

int size = rects.size();
for( int i = 0; i < size; i++ )
{
    rects.push_back(Rect(rects[i]));
}
groupRectangles(rects, 1, 0.2);
Run Code Online (Sandbox Code Playgroud)