我想在跟踪之前快速检测运动,2帧之间的absDiff()(或cmpS())是否足以实现这一点,还是我应该考虑更多?请记住,我对视觉处理和opencv完全陌生:)
由于
答案 0 :(得分:2)
如果要检测特定对象的运动,则需要“连接组件”计算。请参阅http://www.bukisa.com/articles/263221_connected-components-using-opencv
答案 1 :(得分:2)
本书'Learning OpenCV: Computer Vision with the OpenCV Library'的第9章有一个很好的解释。根据您的场景(室内/室外,光照条件等),算法的学习阶段包括累积缓冲区中帧之间的差异,然后使用形态学操作过滤结果以消除噪声。或者,当基本的cvAbsDiff检测到虚假运动时,你会实现更复杂的“码本”算法。
源代码可在OReilly网站上找到。
答案 2 :(得分:0)
没有快捷简便的方法。我正在尝试的方法是随着时间的推移建立一个背景图像,减去前景,这将是任何不属于背景的东西,并将roi放在前景对象上。