三九宝宝网宝宝教育学龄段教育

高斯模型的具体介绍

02月11日 编辑 39baobao.com

[汽车市场调研报告的介绍]汽车市场调研报告主要是通过对汽车的主要内容和配套条件,如市场调查、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进...+阅读

混合高斯模型: 运动检测的一般方法 目前,运动物体检测的问题主要分为两类,摄像机固定和摄像机运动。对于摄像机运动的运动物体检测问题,比较著名的解决方案是光流法,通过求解偏微分方程求的图像序列的光流场,从而预测摄像机的运动状态。对于摄像机固定的情形,当然也可以用光流法,但是由于光流法的复杂性,往往难以实时的计算,所以我采用高斯背景模型。

因为,在摄像机固定的情况下,背景的变化是缓慢的,而且大都是光照,风等等的影响,通过对背景建模,对一幅给定图像分离前景和背景,一般来说,前景就是运动物体,从而达到运动物体检测的目的。 单分布高斯背景模型 单分布高斯背景模型认为,对一个背景图像,特定像素亮度的分布满足高斯分布,即对背景图像B,(x,y)点的亮度满足: IB(x,y) ~ N(u,d) 这样我们的背景模型的每个象素属性包括两个参数:平均值u 和 方差d。

对于一幅给定的图像G,如果 Exp(-(IG(x,y)-u(x,y))^2/(2*d^2)) >T,认为(x,y)是背景点,反之是前景点。 同时,随着时间的变化,背景图像也会发生缓慢的变化,这时我们要不断更新每个象素点的参数 u(t+1,x,y) = a*u(t,x,y) + (1-a)*I(x,y) 这里,a称为更新参数,表示背景变化的速度,一般情况下,我们不更新d(实验中发现更不更新d,效果变化不大)。

高斯混合模型是用于背景提取的方法,OpenCV的cvaux中cvbgfg_gaussmix.cpp文件根据文献An improved adaptive background mixture model for real-time tracking with shadow中提供的方法编写了高斯混合模型函数。其中定义了CvGaussBGModel类用于存放高斯混合模型的各个参数。我用OpenCV使用高斯混合模型函数分以下几步: 1。需要用到icvUpdateGaussianBGModel,icvReleaseGaussianBGModel两个函数,但是源程序中将这两个函数定义为内部函数,需要做一些修改,首先将cvbgfg_gaussmix.cpp中前面两个函数的声明static void CV_CDECL icvReleaseGaussianBGModel( CvGaussBGModel** bg_model ); static int CV_CDECL icvUpdateGaussianBGModel( IplImage* curr_frame, CvGaussBGModel* bg_model );两行代码注释掉。

然后在cvbgfg_gaussmix.cpp中间部分两个函数的定义部分,函数头static int和static void改成CV_IMPL int 和CV_IMPL void。最后在cvaux.h文件中CVAPI(CvBGStatModel*) cvCreateGaussianBGModel( IplImage* first_frame, CvGaussBGStatModelParams* parameters CV_DEFAULT(NULL));这句后面加上以下两句CVAPI(void) icvReleaseGaussianBGModel( CvGaussBGModel** bg_model ); CVAPI(int) icvUpdateGaussianBGModel( IplImage* curr_frame, CvGaussBGModel* bg_model ); 程序修改完毕,点rebuild all,全部重新编译。

2。在程序初始化部分定义高斯混合模型参数CvGaussBGModel* bg_model=NULL;在读取第一帧图像(背景图像)时,进行高斯背景建模bg_model = (CvGaussBGModel*)cvCreateGaussianBGModel(image, 0);image可以是灰度图象也可以是彩色图像。接下来再读取当前帧时,更新高斯模型 regioncount=icvUpdateGaussianBGModel(currframe, bg_model );regioncount的含义我不确定,我理解是代表背景中不同颜色区域的个数,这个参数我没有用到,它只是icvUpdateGaussianBGModel函数的返回值。

3。现在bg_model已经保存了经过高斯混合模型分类后的结果,bg_model->background保存了背景图像,bg_model->foreground保存了前景图像。 include #include #include #include #include //必须引此头文件 int main( int argc, char** argv ) { IplImage* pFrame = NULL; IplImage* pFrImg = NULL; IplImage* pBkImg = NULL; CvCapture* pCapture = NULL; int nFrmNum = 0; cvNamedWindow("video", 1); cvNamedWindow("background",1); cvNamedWindow("foreground",1); cvMoveWindow("video", 30, 0); cvMoveWindow("background", 360, 0); cvMoveWindow("foreground", 690, 0); if( argc >2 ) { fprintf(stderr, "Usage: bkgrd [video_file_name]\n"); return -1; } //打开视频文件 if(argc == 2) if( !(pCapture = cvCaptureFromFile(argv[1]))) { fprintf(stderr, "Can not open video file %s\n", argv[1]); return -2; } //打开摄像头 if (argc == 1) if( !(pCapture = cvCaptureFromCAM(-1))) { fprintf(stderr, "Can not open camera.\n"); return -2; } //初始化高斯混合模型参数 CvGaussBGModel* bg_model=NULL; 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,1); //高斯背景建模,pFrame可以是多通道图像也可以是单通道图像 //cvCreateGaussianBGModel函数返回值为CvBGStatModel*, //需要强制转换成CvGaussBGModel* bg_model = (CvGaussBGModel*)cvCreateGaussianBGModel(pFrame, 0); } else { //更新...

以下为关联文档:

2巯基乙醇的介绍2-巯基乙醇(又称为β-巯基乙醇,1-硫代乙二醇;2-羟基乙硫醇;β-硫醇代乙醇)是一种有机化合物,其化学式为HOCH2CH2SH,英文通用缩写为ME或βME。它兼具乙二醇(HOCH2CH2OH)和乙二硫醇(HSCH...

初中入学自我介绍快急需!呵呵~大家好!(要一直保持微笑啦-这很重要) 我的名字叫XX,(在黑板上写一下)近视的同学注意咯!大家可千万别写错哦~(我觉得,这下你们同学无论从视觉还是听觉上一定会印象很深刻的!) 非常...

谁有初中入学或小学入更好的自我介绍你好,我是……》 大家好!我的名字叫郑博洋,郑成功的成,博士的博,海洋的洋,满族。我的个子不矮,但和班上的高个儿比起来,就逊色多了。和大多数同学一样,我今年也是13岁。 我的缺点。主...

中学生入学自我介绍一分钟急啊今天就要《中学生开学自我介绍》尊敬的老师,亲爱的同学们好!我是XXX,今年XX岁,家住XXXXXX。 我一直期望的初中生活从今天就要开始了,真希望在新的年纪,新的学校,和各位同学老师们相处融洽,学...

为表弟跪求小升初的入学自我介绍。作文各位同学们: 你们好,我叫XXX,其实,站在这里,我是非常紧张的,但是,我很高兴能够站在这里向大家介绍我自己。 我毕业于XXX小学,曾经是班上的XX班干部,通过为同学们做一些力所能及的事情...

初中新生入学的自我介绍怎么写啊急求啊炫目的天空失去了昔日咄咄逼人的光芒,换上蓝色纯净而又高远的天幕,白云漫不经心地点缀其间。轻轻漫步在校园小道上,心情怡然,一双眼睛观察着身边的人和事。 校园里的学生的脸上...

两分钟介绍会计的职业能力!基础的讲,会计就是对企业发生过的经济业务进行记录和核销,也就是如何的记帐,算成本,编报表最后得出利润.如果要说的更广泛些,那会计是一个很重要的职能.要做的很多.从经济业务开...

谁能介绍一下ARCGISArcGIS是ESRI在全面整合了GIS与数据库、软件工程、人工智能、网络技术及其它多方面的计算机主流技术之后,成功地推出了代表GIS最高技术水平的全系列GIS产品。ArcGIS是一个全...

远程教育网的介绍现代远程教育网引是指学生和教师,学生和教育机构之间主要采用多种媒体手段进行远程教育系统教学和通信联系的教育形式。它是随着现代信息技术的发展而发生的一种新型教育形式...

推荐阅读
图文推荐