【发布时间】:2019-04-03 05:36:00
【问题描述】:
我正在尝试确定最佳的 OpenCV 方法和实现,以识别出现在实时摄像机源中的对象。该实现需要对不断变化的光照条件具有鲁棒性,并且理想情况下可以适应背景中的轻微移动(树木/云朵移动),而不会产生过多的噪音。
到目前为止我尝试过的选项包括:
-识别空背景帧和当前帧之间的绝对像素差异(如果光线条件发生变化或相机抖动,则效果不佳)
-Background subtraction(适用于不断变化的条件,但会导致噪音过大)
-也考虑过使用边缘检测,不受光照条件变化的影响,并以某种方式比较物体形状,看看有什么新变化
理想情况下,我希望输出允许我为在帧中移动的任何对象生成边界框,背景参考随着时间的推移逐渐变化以适应不断变化的光照条件(或者可以将输入帧标准化为光照所以这没有效果?)
你会推荐什么?我在 C++ 中通过 Visual Studio 2017 运行 OpenCV
【问题讨论】:
-
在 OpenCV - MOG2 中。但请先在 bgslibrary 上查看:github.com/andrewssobral/bgslibrary
-
OCV 库的背景减法方法适用于这类东西。当然,它不是免费的。如果需要性能,这将需要一些优化。在噪音的情况下以及一些后期处理,但这是值得的。