zoukankan      html  css  js  c++  java
  • 高斯混合模型

    混合高斯模型用多个高斯分布的加权平均来平滑地近似任意形状的密度分布函数。

    #include<iostream>
    #include<opencv2/opencv.hpp>
    #include<opencv/cvaux.hpp>
    using namespace std;
    
    int main()
    {
        IplImage *pFrame=NULL;
        IplImage *pFrImg=NULL;
        IplImage *pBkImg=NULL;
        CvCapture *pCapture=NULL;
        pCapture= cvCreateFileCapture("video.avi");
    
        cvNamedWindow("video",1);
        cvNamedWindow("background",1);
        cvNamedWindow("foreground",1);
        cvMoveWindow("video",30,0);
        cvMoveWindow("background",450,0);
        cvMoveWindow("foreground",900,0);
    
        CvGaussBGStatModelParams* params = new CvGaussBGStatModelParams;
        params->win_size=2;
        params->n_gauss=5;
        params->bg_threshold=0.7;
        params->std_threshold=3.5;
        params->minArea=15;
        params->weight_init=0.05;
        params->variance_init=30;
    
        pFrame=cvQueryFrame(pCapture);
        CvBGStatModel * bg_model = cvCreateGaussianBGModel(pFrame ,params);
    
        int nFrmNum=0;
        while(pFrame=cvQueryFrame(pCapture))
        {
            nFrmNum++;
            if(nFrmNum==1)
            {
                pBkImg=cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,3);
                pFrImg=cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,3);
            }
            else
            {
                cvUpdateBGStatModel(pFrame,bg_model);
                pFrImg=bg_model->foreground;
                pBkImg=bg_model->background;
                cvShowImage("video",pFrame);
                cvShowImage("background",pBkImg);
                cvShowImage("foreground",pFrImg);
    
            }
    
            if(cvWaitKey(22)>=0)
                break;
        }
    
        cvReleaseBGStatModel(&bg_model);
        cvDestroyAllWindows();
        cvReleaseImage(&pFrImg);
        cvReleaseImage(&pBkImg);
        cvReleaseCapture(&pCapture);
        return 0;
    }
    

     程序运行结果:

    可以看到,background无法显示,http://blog.pzxbc.com/?p=176中提供了解决方法,不过没有成功啊魂淡!

  • 相关阅读:
    [转贴]Nexus7的编译过程。
    Office:SmartArt使用
    jira:导出的Excel无法打开
    TDT:关键字驱动测试方法
    SVN:“SVN”不是内部命令,解决方法
    VS:如何在VS2010中运行控制台程序时停留在控制台显示窗口
    Total Cammander中容合SVN
    NSIS:NSIS基础语法
    AppTimer.exe:程序启动时间测试工具
    MySql安装与GUi安装
  • 原文地址:https://www.cnblogs.com/juaner767/p/3678804.html
Copyright © 2011-2022 走看看