首页 > 解决方案 > 视频中图像差异中的边界框

问题描述

我正在尝试在视频帧中找到对象的边界框。我假设当前的边界框检测在原始帧中找到对象,而我想在 Frame Difference 中提取边界框。在下图中,我从框架中减去了背景,结果是正确的图像。

在此处输入图像描述

由于帧差中的大多数像素将为零,因此我假设对此的边界框检测在计算上应该是便宜的。

标签: algorithmopencvimage-processingbounding-box

解决方案


您没有使用特定语言进行标记,因此我将给出一个伪代码答案,并带有指向要使用的 OpenCV 函数的指针:

  1. 如果您想确保将靠近的不相交区域分配给同一个框,请填补空白:morphologyEx使用MORPH_CLOSE操作并使用小内核。

  2. 连通分量分析:connectedComponents. 这会产生一个整数图像,其中每个“对象”的所有像素都涂有相同的值(标签)。

  3. 查找每个标签的 x 和 y 坐标的最小值和最大值。您可以将此步骤与 OpenCV 中的前一个步骤结合使用,并connectedComponentsWithStats获取输出的CC_STAT_LEFTCC_STAT_TOP和列。CC_STAT_WIDTHCC_STAT_HEIGHTstats

是的,这很便宜。


推荐阅读