问题标签 [background-subtraction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3842 浏览

opencv - 在opencv中简单但不是基本的背景减法?

我几乎必须用 OpenCV 进行高效背景减法中所说的(背景减法,前景有颜色,除了相机而不是视频文件)。问题是在那个主题中没有关于背景减法阶段本身的解释。

我查看了官方的 openCV 书和互联网,简单的帧差异不足以满足我的需要。我试图理解更复杂的平均背景方法,但在帧的cvAcc获得平均值后我迷路了:/

如果有人可以帮助我一点,我将不胜感激..

谢谢!

使用我现在拥有的代码进行编辑:

平均

适应背景(#define 中的 alpha 为 0.05)

仅使用前景创建最终图像(远非完美!)

现在有问题!

现在最大的问题是,当我在图片的某个地方有一个灯泡时,当我将手“放在”它上面几秒钟后,当我把它拿走时,灯光会在前景中停留很长时间。 . 对此有什么帮助吗?

0 投票
1 回答
2237 浏览

opencv - opencv 函数 CvBGStatModel

我只是想知道这个函数CvBGStatModel()是如何工作的。我的意思是说用于此的算法是什么,以及与平均和帧差算法相比,它如何提供更好的结果。

提前致谢。

0 投票
1 回答
376 浏览

opencv - opencv如何在高斯混合中存储矩阵值?按什么顺序?

我搜索了“bgfg_gaussmix2.cpp”代码,它在高斯混合模型中说,它存储每个像素背景模型的每个高斯混合的混合权重(w)、平均值(nchannels 值)和协方差。我想知道它的存储顺序,比如是“权重、均值、协方差”,还是“均值、协方差、权重”,还是别的什么?提前致谢。

0 投票
1 回答
1455 浏览

image-processing - 道路交通监测的背景减法

我必须在视频流(记录)上检测汽车并提供一些交通数据。我读过背景减法是最重要的步骤,这样我们就可以提取前景对象。

问题是,我们如何为彩色框架做到这一点?我读过的文章更多地谈论黑白图像。

我想使用自动背景去除,它使用帧差分(在我的理解中)。

如果我以灰度进行删除,我是否仍然能够重播带有彩色跟踪对象的视频?因为重点是能够在原始视频上显示被跟踪的汽车。

0 投票
3 回答
5116 浏览

opencv - BackgroundSubtractorMOG2 的蒙版

如何告诉 BackgroundSubtractorMOG2 哪些像素要更新到背景模型,哪些像素不应该。

当有一个物体进入场景并停止十秒钟时,我面临一个问题,该物体将被吸收到背景模型中。

我想降低学习率或停止围绕特定停止对象的学习,但我该怎么做?BackgroundSubtractorMOG2 是否支持在其更新功能中使用遮罩?

我正在使用 OpenCV 2.4.1。

0 投票
1 回答
6679 浏览

c++ - OpenCV C++ videocapture 图像背景减法

我正在尝试制作一个简单的程序,该程序将使用 OpenCV 和 C++ 从背景中减去一个对象。

这个想法是使用 VideoCapture 来:

  • 捕捉静态背景(没有对象)
  • 然后连续捕捉当前帧并从背景中减去

但是,将捕获的数据发送到我的 BackgroundSubtraction() 函数时出现问题。它给了我一个错误:

OpenCV_BackgroundSubtraction.exe 中 0x77d815 处未处理的异常:0xC000005:访问关于位置 0x04e30050 的违规

但是,有时它似乎有效,有时则无效(在 Windows 7 64 位上使用 Visual Studio 2010 C++)。

我有一种感觉,它与内存分配和函数的优先级有关。似乎 VideoCapture 抓取器在我将其发送到 BackgroundSubtraction() 之前抓取/写入帧的速度可能不够快。

我笔记本电脑中的内置网络摄像头工作正常(即显示图片),但我的代码中有问题。我试过玩一些延迟,但它似乎没有影响。

这是我的代码:

提前致谢!

附言。尽管可能有一些内置函数可以完成这项工作,但我宁愿自己制作算法。

0 投票
4 回答
10264 浏览

c++ - 无法在 BackgroundSubtractorMOG2 中设置用户参数

OpenCV 库版本 2.42。我想在BackgroundSubtractorMOG2对象中设置一个参数,例如

backgroundRatiofVarMin是控制算法的参数。用户应该能够根据文档更改这些参数。

怎么设置参数BackgroundSubtractorMOG2

编辑正如在下面的答案中正确提到的,这是 OpenCV 中的一个错误。该错误已在 OpenCV 版本 2.4.6 中修复。

0 投票
1 回答
7160 浏览

opencv - 深度图像的 Otsu 阈值

我正在尝试从使用 kinect 获取的深度图像中减去背景。当我了解 otsu 阈值是什么时,我认为它可以做到。将深度图像转换为灰度我希望可以应用 otsu 阈值来对图像进行二值化。

但是我用 OpenCV 2.3 实现(试图实现)这个,它是徒劳的。然而,输出图像被二值化,非常出乎意料。我连续进行了阈值处理(即将结果打印到屏幕上以对每一帧进行分析),发现某些帧的阈值是 160ish,有时发现为 0。我不太明白为什么会这样。可能是由于 kinect 返回的深度图像中有大量 0,对应的像素无法测量。有没有办法告诉算法忽略值为 0 的像素?或者 otsu 阈值对我想要做的事情不利?

以下是相关代码的一些输出和段。您可能会注意到第二个屏幕截图看起来可以进行一些很好的二值化,但是我想要实现一个能够明显区分场景中椅子对应的像素和背景的像素。

谢谢。

图 1 第二张截图看起来可以做一些很好的二值化

0 投票
1 回答
6713 浏览

image - 使用 OpenCV 2 进行背景减法

是否有任何实现图像背景减法算法的 OpenCV 2.4.2 函数或类?

我将处理的图像将是肖像,例如来自网络摄像头的图像。我只想保留身体的上半部分(从胸部向上)并删除背景中的其他所有内容。

如果可能的话,我想避免自己实现这些算法。但是,如果 OpenCV 中目前不存在,那么请给我一些建议。

我试图寻找答案,但到目前为止,我发现的所有内容都只涉及视频或图片序列中的背景减法,这不是我想要的。我只想处理单个、静态和独立的图像。

0 投票
3 回答
4277 浏览

c++ - 如何在 BackgroundSubtractorMOG2 中禁用阴影跟踪?

我试图在使用 BackgroundSubtractor 算法 BackgroundSubtractorMOG2 时禁用 openCV 中的阴影检测。然而,即使将 bShadowDetection 设置为 false,该算法似乎仍将阴影作为前景对象进行跟踪。

我试图调整 BackgroundSubtractorMOG2 类的不同成员,以便毫无机会地禁用阴影跟踪。BackgroundSubtractorMOG2 的重要类成员

那些应该与阴影检测有关的东西,例如 bShadowDetection 或 fTau 似乎没有效果。文档中的解释在某种程度上也不够充分。