OpenCV2.2 和 2.4.4 的 cvSetCaptureProperty 和 CvGaussBGModel (高斯背景建模)版本间差异

这篇博客介绍了OpenCV从2.2到2.4.4版本中,CvGaussBGModel被废弃并由BackgroundSubtractor系列方法取代的情况。作者提到了BackgroundSubtractorMOG和BackgroundSubtractorMOG2作为高斯背景建模的新选择,并阐述了它们在新版本中的实现差异,包括使用cv命名空间和cv::Mat数据结构。文章还提及了在不同版本之间进行代码移植时IplImage与Mat之间的转换问题。
摘要由CSDN通过智能技术生成
         OpenCV2.2的cvSet和cvGet获取帧是按照关键帧的方法来的,并不准确,较高版本的OpenCV修改了这个bug,改成用帧号的方式获取,经过测试,2.4.2,2.4.4版本都可以比较准确的获得到想要的帧。

         解决了这个问题之后又出现了新的问题,我们在做和视频前背景分离有关的项目,程序里本来用到的OpenCV2.2中的CvGaussBGModel在高版本已经废弃不用了,虽然网上提到混合高斯模型提取背景铺天盖地的都是CvGaussBGModel,转而使用的是cv::BackgroundSubtractorMOG和cv::BackgroundSubtractorMOG2方法,MOG是Mixture of Gaussian的缩写,所以两者实际在做一个事情,据说cv::BackgroundSubtractorMOG2是将混合高斯模型的应用发挥到极致的一个实现,下面我们就来看看两者间的差异。

          在openCV2.2中,CvGaussBGModel是在\opencv2\video\background_segm.hpp中定义的,到2.4时,CvGaussBGModel已经不再使用,并移到了legacy中,也就是虽然使用原来的CvGaussBGModel即使能编译通过,也无法正常运行,而2.4中的background_segm.hpp只定义了前背景分离较新的的几种方法。

          其中,BackgroundSubtractor是前背景分离的基类,BackgroundSubtractorMOG,和BackgroundSubtractorMOG2都派生自BackgroundSubtractor类,在新版本2.4.4的background_segm.hpp中这样描述这两种方法对应的文献:

/*!
 Gaussian Mixture-based Backbround/Foreground Segmentation Algorithm

 The class implements the following algorithm:
 "An improved adaptive background mixture model for real-time tracking with shadow detection"
 P. KadewTraKuPong and R. Bowden,
 Proc. 2nd European Workshp on Advanced Video-Based Surveillance Systems, 2001."
 http://personal.ee.surrey.ac.uk/Personal/R.Bowden/publications/avbs01/avbs01.pdf

*/
class CV_EXPORTS_W BackgroundSubtractorMOG : public BackgroundSubtractor
{


};


/*!
 The class implements the following algorithm:
 "Improved adaptive Gausian mixture model for background subtraction"
 Z.Zivkovic
 International Conference Pattern Recognition, UK, August, 2004.
 http://www.zoranz.net/Publications/zivkovic2004ICPR.pdf
*/
class CV_EXPORTS BackgroundSubtractorMOG2 : public BackgroundSubtractor
{
public:
    //! the default
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值