热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FG模型

一直没搞懂CvBGStatModel和CvFGDStatModel有什么区别。CvBGStatModel模型的创建用cvCreateGaussianBGModel,C

一直没搞懂CvBGStatModel和CvFGDStatModel有什么区别。CvBGStatModel模型的创建用cvCreateGaussianBGModel,CvFGDStatModel模型的创建用cvCreateFGDStatModel,它们的更新都用cvUpdateBGStatModel。

#include
#include
#include
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);CvFGDStatModel* fg_model=NULL;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);fg_model = (CvFGDStatModel*)cvCreateFGDStatModel(pFrame, 0);}else{cvUpdateBGStatModel(pFrame, (CvBGStatModel *)fg_model );pFrImg=fg_model->foreground;cvDilate(pFrImg,pFrImg);
// cvErode(pFrImg,pFrImg);//腐蚀pBkImg=fg_model->background;cvShowImage("video",pFrame);cvShowImage("background",pBkImg);cvShowImage("foreground",pFrImg);}if(cvWaitKey(20)>=0)break;}cvReleaseBGStatModel((CvBGStatModel**)&fg_model);cvDestroyAllWindows();cvReleaseImage(&pFrame);cvReleaseImage(&pFrImg);cvReleaseImage(&pBkImg);cvReleaseCapture(&pCapture);return 0;
}

 程序运行结果:

转:https://www.cnblogs.com/juaner767/p/3678919.html



推荐阅读
author-avatar
手机用户2602933123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有