问题标签 [mog]
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.
python - MOG 背景减法:历史参数不起作用
我正在尝试使用 MOG 背景减法,但“历史”功能似乎不起作用。
OpenCV 2.4.13
Python (2.7.6)
观察:该程序似乎将其捕获的第一帧用于所有未来的背景减法。
期望:背景应该根据“历史”参数慢慢演变,这样如果相机角度发生变化,或者如果人/物体离开视野,“背景”图像也会相应变化。
预先感谢您的帮助!
segmentation-fault - 分段故障运动检测 Opencv4tegra
我正在尝试在我的 Jetson TK1 上实现 MoG 算法。我正在使用 OpenCV4Tegra 2.4。代码已成功编译,但是当我尝试执行它时出现此错误:分段错误任何帮助请提前致谢
opencv - 具有自适应背景、静态对象的 OpenCV 前景检测
我有一个普通表面的背景图像。我的目标是跟踪在表面上定位/移动的对象。
我正在使用 MOG2 查找学习率为 0 的前景对象,因此不会更新背景(否则会在背景中合并静态对象)。
结果很好,但是我对光线有一个很大的问题:如果在获取背景后光线发生变化,则会将各种伪影检测为前景物体。
如何提高对光照的鲁棒性?
更新
我正在尝试一种效果很好的解决方案,但它需要一些修复。
我以这种方式使用 MOG2:
- 使用第一帧 (BGK) 获取和学习背景
- 将 MOG2 应用于当前帧,学习率为 0(无更新)并获得前景蒙版(FG_MASK)
- 对于接下来的帧,我使用 FG_MASK 来掩盖 BGK,并使用结果以一定的学习率应用于 MOG2(这会更新背景)。
- 之后,我从 MOG2 算法中更新 BGK。
这样,对象就被从背景中屏蔽掉了,而背景仍然在更新。这可以保证对光变化的良好鲁棒性。
有一些缺点,例如当光线变化时,物体遮罩(“遮罩斑点”)保持之前的亮度,如果差异太大,可以检测为新物体。
在上图中,您可以看到当前帧更亮,而静态对象的蒙版更暗。
我的想法是尝试在光线变化后调整“遮罩斑点”来改变它的亮度。我怎样才能用 OpenCV 得到这个?
修复以前的缺点
使用instaead函数来简单地遮盖 BGK(步骤 3),我可以使“遮罩斑点”与背景亮度变化保持同步。这个修复也有缺点,它的性能不是很好。
更新 2
我认为这是一个有趣的话题,所以我会保持更新。修复功能很慢,所以我正在尝试另一种方式。使用 Hsv 颜色空间可以让您管理亮度通道,我可以通过这种方式减少亮度的影响:
- 使用 Split 功能获得 V 通道
- 计算通道 V 的平均值
- 使用平均值对 V 通道应用阈值截断
- 使用新的 V 通道重建框架
opencv - MOG2 背景减法:概率密度函数
请,任何人都可以向我解释为什么在用于背景减法的 OpenCV MOG2 函数上我找不到概率密度函数的实现?
建议的实施有什么技巧吗?
python - 如何创建两个独立的彩色视频,包括移动和固定对象?
我想创建两个单独的视频,包括固定对象和移动对象。从 KNN 和 MOG2 中提取移动对象,从而创建黑白视频。但我的主要问题是如何创建两个彩色视频,包括固定和移动对象并分别保存它们?
opencv - openframeworks中的opencv BackgroundSubtractorMOG
有人知道现在如何实现像 MOG 或 MOG2 这样的 opencv 背景减法器吗?我尝试使用 ofxCvMOG2 库(https://github.com/naus3a/ofxCvMOG2)但是当我运行示例时出现错误“无法创建抽象类的实例”,我被困在那里。可能是我的 openframeworks 版本(0.11.2)不适合五年前的图书馆吗?任何帮助我指出正确方向的帮助都将不胜感激。提前致谢!