



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/* 背景建模,运动物体检测* */* OpenCV example* Copyright (C) 2006 Shiqi Yu* This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.* This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.* You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA*/#include #include #include #include int main( int argc, char* argv )/声明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;/创建窗口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 n);return -1;/打开视频文件if( !(pCapture = cvCreateFileCapture(argv1)fprintf(stderr, Can not open video file %sn, argv1);return -2;/逐帧读取视频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);elsecvCvtColor(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);/显示图像cvShowImage(video, pFrame);cvShowImage(background, pBkImg);cvShowImage(foreground, pFrImg);/如果有按键事件,则跳出循环/此等待也为cvShowImage函数提供时间完成显示/等待时间可以根据CPU速度调整if( cvWaitKey(2) = 0 )break;/销毁窗口cvDestroyWindow(video);cvDestroyWindow(background);cvDestroyWindow(foregrou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链应用操作员转正考核试卷及答案
- 建筑照明品牌营销方案设计
- 跨年公益活动策划方案
- 江苏专业活动会议方案策划
- 巫山离婚咨询律师方案
- 心理摄影活动策划方案范文
- 咨询监理方案
- 药品质量安全培训简讯课件
- 餐饮五一以后活动方案策划
- 跨境公司财税咨询方案
- 成品油市场管理办法培训
- 2025至2030中国管理咨询行业产业运行态势及投资规划深度研究报告
- 2025年吉林省中考数学试卷真题(含答案详解)
- 综治中心培训课件
- PCR基本知识课件
- 【课件】绝对值(课件)数学人教版2024七年级上册
- 适当性管理讲课件
- 医学美容技术专业教学标准(高等职业教育专科)2025修订
- 新生儿溢奶吐奶呛奶处理指南
- 上海爱尔眼科医院营销策略:基于市场细分与竞争优势的深入探究
- 服务安全风险管理制度
评论
0/150
提交评论