我正在使用背景减法来检测屏幕上的移动,然后在使用cvBoundingRect时使用cvFindContours来检测轮廓。我得到了很多小矩形,这是由于背景减法不会返回平滑连接的二进制图像,而差异图像中有孔导致很多小矩形。我的问题是如何将这些小矩形归为整个运动的更大矩形。

最佳答案

这取决于您检测到的轮廓的断开程度,
您可以尝试使用cvSmooth平滑图像,然后应用一些形态运算符,例如Dilation(cvDilate())和Closing(cvMorphologyEx())。

例如,cvDilate()使用由CreateStructuringElementEx生成的IplConvKernel,您可以创建最适合您的需求的结构化元素。

08-16 08:05