问题标签 [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 投票
1 回答
871 浏览

c++ - 从视频流中提取前景

我正在开发一个视频处理项目,该项目将摄像头输入作为输入并具有静态背景。我不需要像opencv中的BackgroundSubtractorMOG那样的任何类型的动态背景生成。我正在尝试将前景对象绑定在边界框内。所以这就是我所做的

但问题是我没有正确获得前景。无论如何我可以改进前景生成并始终使用一些矩形边界框来绑定前景对象,而不管背景复杂性和其他因素如何?

0 投票
4 回答
7288 浏览

opencv - 具有不同照明的 OpenCV 背景减法

我正在做一个项目,我必须在凸轮提供的图像中自动分割汽车的不同部分(即车门、前灯等)。

在第一步中,我想删除背景,因此算法不会在不应该的地方找到任何东西。

我也有只是背景的图像,但是由于曝光时间、汽车的光反射等原因,照明有很大不同。

我试图通过简单的减法来消除 BG,不幸的是,由于光照条件非常不同,这并没有起到太大的帮助。

所以接下来我应用了直方图均衡,但这也没有太大帮助。

我怎样才能摆脱这个不同灯光场景中的背景?有没有可以用于这两个图像的 OpenCV 方法?

0 投票
2 回答
10279 浏览

opencv - 从提取的前景中移除阴影

我是 OpenCV + C++ + Visual Studio 2012 的新手。现在我需要学习它们。这是背景减法/前景提取的代码,我需要从前景中移除阴影,并将它们包含在背景模型中。

我改变了bshadowdetection = truefalse但什么也没发生。所以我该怎么做?谢谢。:)

注意:对不起我的英语不好。:D

=================

解决!

如果要去除前景的阴影,只需在 bg.bShadowDetection = True 之后添加以下代码:

bg.nShadowDetection = 0 和 bg.fTau = 0.5,见上面的代码!:D

如果仍然检测到阴影,您可以调整该值。

bg.fTau = 0.5 表示如果像素暗 2 倍以上,则它不是阴影。

bg.nShadowDetection 默认值为 127。如果您想移除阴影,只需将前景 min.threshold 设置为 127。或者您可以像我一样将 bg.nShadowDetection 设置为 0。

干杯! :D

0 投票
0 回答
665 浏览

opencv - 使用 cvRetrieveFrame 得到奇怪的图像

我正在阅读一个 avi 文件,并做一些背景减法工作。奇怪的是,当我使用 时cvRetrieveFrame,我得到了一个奇怪的图像,如下所示:

起源:

在此处输入图像描述

cvRetrieveFrame 返回:

在此处输入图像描述

我不知道有什么问题。这是我的代码片段。

0 投票
3 回答
5267 浏览

opencv - 背景减法算法

我正在尝试实现一种简单的背景减法方法来检测特定场景中的移动物体。目标是从视频中分割出特定的动作,以便在另一个视频中使用它。

我遵循的算法是: 1. 从视频中取出前 25 帧并对它们进行平均以获得背景模型。2. 找出这 25 帧的标准差并将值存储在另一幅图像中。3. 现在我正在计算每帧和平均背景模型像素之间的绝对差异。

我得到的输出是一种以白色突出显示的透明运动(绝对差异导致我认为的透明度)。我想知道我的方法是否正确,考虑到下一步我将对此输出进行分割?而且我也不知道如何使用标准偏差图像。任何帮助将不胜感激。

如果这不是我应该在堆栈溢出中发布的问题类型,请告诉我。在这种情况下,任何指向其他网站的参考或链接都会有所帮助。

0 投票
1 回答
2044 浏览

c# - 使用 Emgu cv 的背景减法

我需要知道有没有一种方法可以删除直播网络摄像头的背景。 有一种称为背景减法器的方法。如果有人知道使用它,请帮我解决这个问题..

0 投票
2 回答
2588 浏览

java - 如何使用 OpenCV 和 Java 从(视频)图像中删除背景?

我刚开始学习OpneCV并开始使用 Java 进行我的项目。由于最近发布了OpenCV的Java 包装器,因此没有太多可用的文档。

我正在尝试将背景和前景与通过网络摄像头捕获的视频分开。我尝试BackgroundSubtractorMog在 java 中使用该类,但未能获得所需的输出。

这是我的代码:

此代码仅提供黑屏输出。

0 投票
0 回答
60 浏览

image-processing - 电影快照具有除电影本身之外的其他维度。

我想使用 swistrack 跟踪视频中的移动对象。https://en.wikibooks.org/wiki/SwisTrack

我将为此使用一个简单的背景减法算法。因此,我需要电影第一帧的快照。电影是 .avi 格式,我尝试使用 GNOME 播放器和 Mplayer(在 ubuntu 上)和 VLC 播放器(在 Windows 上)拍摄快照。但是,我总是遇到同样的问题:我的电影尺寸为 720 x 576,而我拍摄的任何屏幕截图的尺寸均为 768 x 576。这使得背景减法成为不可能,并且让 swistrack 抱怨。

我不知道这里出了什么问题。是电影格式吗?我在此 URL 上上传了电影和屏幕截图,因此您可以尝试一下,看看是否得到相同的结果? https://perswww.kuleuven.be/~u0065551/movies_and_snapshots/

问题是我想使用例如 Mplayer 批量处理我的视频,总是自动将电影连同第一帧的快照以及它从中制作的蒙版一起保存在其文件夹中,所以我可以很容易地用 swistrack 读取它.

非常感谢你的帮助!

0 投票
4 回答
1272 浏览

image-processing - 前景提取

我正在做一些关于跟踪一个人的工作,我正在使用这个数据集。我现在正在尝试使用背景减法方法(即均值滤波器)提取前景

我的背景就像

背景

如果我尝试像这样减去我当前的帧

在此处输入图像描述

所以减法后我得到这样的图像

在此处输入图像描述

在阈值0.1538之后

我得到这个面具

在此处输入图像描述

所以如果你注意到这个面具,它会因为人和椅子的遮挡而把这个前景分成两部分。我不知道如何解决这个问题。有什么建议么?

0 投票
2 回答
1285 浏览

c++ - Opencv + BeagleBone Black 性能问题中的对象计数器

我在 BeagleBone Black + Opencv Object Counter 中面临性能问题。我正在使用 BackgroundSubtractorMOG2 进行背景减法和轮廓检测。下面是代码:

这段代码在我的台式机上运行完美。但是当我在安装了 Ubuntu 13.04 linux 的 BeagleBone Black 上运行这段代码时,这个发行版根本没有 GUI,我在终端上工作,它给我 80% 的 CPU 使用率,每秒处理 2 帧。内存使用率非常低,大约 8%,我没有得到我想要的性能。所以如果我做错了什么,请指导我。

我的问题的目的是,是否有任何与编码相关的问题,或者 BackgroundSubtractorMOG2 资源匮乏,所以我必须使用另一种方式。如果还有其他方法,那么请指导我那是什么方法?

提前致谢...