OpenCV背景扣除以改善检测

时间:2018-07-19 11:02:53

标签: python opencv computer-vision

我能够检测到传送带上的鸡蛋,但问题是,如果传送带上没有鸡蛋,算法仍会找到对象。

在传送带上检测到的鸡蛋:

enter image description here enter image description here

如果皮带上没有鸡蛋:

enter image description here   enter image description here

为减少错误检测,我正在检查半径和面积:

$rowIterator

但是,此检查点不足以防止错误检测。

我尝试了if (radius < 100 and radius > 20): .... if area > 2200 and area < 8800: .... 方法,但在减去后无法检测到鸡蛋。

传送带类型可能有所不同。

从图像中去除静态背景(皮带)的最佳方法是什么?

代码:

createBackgroundSubtractorMOG

1 个答案:

答案 0 :(得分:2)

有两种获取背景图像的基本选项:

  1. 在某些设置/校准过程中,预先获取特定传送带的背景图像。
  2. 使用数据本身来获取背景,为此,您必须删除对象(鸡蛋)。

第二个选项可以通过获取每个像素随时间的平均值或中位数来实现。鉴于大多数情况下每个像素都显示背景,因此您可以对没有物体的场景做出合理的估计。