首页 [试题]用opencv实现对视频中动态目标的追踪

[试题]用opencv实现对视频中动态目标的追踪

举报
开通vip

[试题]用opencv实现对视频中动态目标的追踪[试题]用opencv实现对视频中动态目标的追踪 用opencv实现对视频中动态目标的追踪 (2009-07-15 10:53:18) 转载 标签: 杂谈 第一步,是要建立一个编程环境,然后加载opencv的库路径等等。具体步骤在 的“安装”中有详细介绍。 第二步,建立一个MFC的对话框程序,做两个按钮,一个“打开视频文件”,一个“运动跟踪处理”。 具体操作: 1 建立MFC对话框程序的框架:File ->New -> MFC AppWizard(exe),选取工程路径,并取工程名“VideoPr...

[试题]用opencv实现对视频中动态目标的追踪
[试题]用opencv实现对视频中动态目标的追踪 用opencv实现对视频中动态目标的追踪 (2009-07-15 10:53:18) 转载 标签: 杂谈 第一步,是要建立一个编程环境,然后加载opencv的库路径等等。具体步骤在 的“安装”中有详细介绍。 第二步,建立一个MFC的对话框程序,做两个按钮,一个“打开视频文件”,一个“运动跟踪处理”。 具体操作: 1 建立MFC对话框程序的框架:File ->New -> MFC AppWizard(exe),选取 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 路径,并取工程名“VideoProcesssing”-> Next -> 选择Dialog based后,点Finish,点OK. 2 添加按钮:直接Delete掉界面默认的两个“确定”“取消”按钮。然后添加两个button,分别名为“打开视频”,“运动跟踪处理”,其ID分别设为IDC_OPEN_VIDEO,IDC_TRACKING. 3 添加消息响应 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 :双击按钮“打开视频”,自动生成响应函数名OnOpenVideo,点Ok。然后添加如下代码: CFileDialog dlg(true,"*.avi",NULL,NULL,"*.avi|*.avi||"); if (dlg.DoModal()==IDOK) { strAviFilePath = dlg.GetPathName(); }else { return; } 同样,双击“运动跟踪处理”,选择默认的响应函数名,然后添加代码: //声明IplImage指针 IplImage* pFrame = NULL; IplImage* pFrImg = NULL; IplImage* pBkImg = NULL; CvMat* pFrameMat = NULL; CvMat* pFrMat = NULL; CvMat* pBkMat = NULL; CvCapture* pCapture = NULL; int nFrmNum = 0; //打开AVI视频文件 if(strAviFilePath=="") //判断文件路径是否为空 { MessageBox("请先选择AVI视频文件!"); return; }else { if(!(pCapture = cvCaptureFromFile(strAviFilePath))) { MessageBox("打开AVI视频文件失败!"); return; } } //创建窗口 cvNamedWindow("Video", 1); cvNamedWindow("Background",1); cvNamedWindow("Foreground",1); //使窗口有序排列,窗口宽330 cvMoveWindow("Video", 30, 0); cvMoveWindow("Background", 360, 0); cvMoveWindow("Foreground", 690, 0); //逐帧读取视频 while(pFrame = cvQueryFrame( pCapture )) { nFrmNum++; //如果是第一帧,需要申请内存,并初始化 if(nFrmNum == 1) { pBkImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1); // 存放背景图像(灰度) pFrImg = cvCreateImage(cvSize(pFrame->width, pFrame->height), IPL_DEPTH_8U,1); // 存放中间图像(灰度) pBkMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1); pFrMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1); pFrameMat = cvCreateMat(pFrame->height, pFrame->width, CV_32FC1); //转化成单通道图像再处理(灰度) cvCvtColor(pFrame, pBkImg, CV_BGR2GRAY); cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY); cvConvert(pFrImg, pFrameMat); cvConvert(pFrImg, pFrMat); cvConvert(pFrImg, pBkMat); } else { cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY); //转化成单通道图像再处理(灰度) cvConvert(pFrImg, pFrameMat); //高斯滤波先,以平滑图像 //cvSmooth(pFrameMat, pFrameMat, CV_GAUSSIAN, 3, 0, 0); //当前帧跟背景图相减(求背景差并取绝对值) cvAbsDiff(pFrameMat, pBkMat, pFrMat); //二值化前景图(这里采用特定阈值进行二值化) cvThreshold(pFrMat, pFrImg, 60, 255.0, CV_THRESH_BINARY); //进行形态学滤波,去掉噪音 cvErode(pFrImg, pFrImg, 0, 1); cvDilate(pFrImg, pFrImg, 0, 1); //滑动平均更新背景(求平均) cvRunningAvg(pFrameMat, pBkMat, 0.003, 0); //将背景转化为图像格式,用以显示 cvConvert(pBkMat, pBkImg); // 保持原图像的旋转方向 pBkImg->origin = pFrImg->origin = pFrame->origin; //显示图像 cvShowImage("Video", pFrame); cvShowImage("Background", pBkImg); cvShowImage("Foreground", pFrImg); //如果有按键事件,则跳出循环 //此等待也为cvShowImage函数提供时间完成显示 //等待时间可以根据CPU速度调整 if( cvWaitKey(200) >= 0 ) break; } } //销毁窗口 cvDestroyWindow("Video"); cvDestroyWindow("Background"); cvDestroyWindow("Foreground"); //释放图像和矩阵 cvReleaseImage(&pFrImg); cvReleaseImage(&pBkImg); cvReleaseMat(&pFrameMat); cvReleaseMat(&pFrMat); cvReleaseMat(&pBkMat); cvReleaseCapture(&pCapture); 4 选fileview选项卡中VideoProcessingDlg.h,在CVideoProcessingDlg类中添加公有类成员: CString strAviFilePath; 5 选fileview选项卡中VideoProcessingDlg.cpp,添加opencv头文件 #include "cv.h" #include "highgui.h" #include "cxcore.h" 6 点击Project——settings——link——Object/library modules下填入 cxcore.lib cv.lib cvaux.lib highgui.lib cvcam.lib ml.lib 7 编译执行,成功~
本文档为【[试题]用opencv实现对视频中动态目标的追踪】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:6
分类:
上传时间:2018-03-08
浏览量:7