高斯处理视频并跟踪运动做前景背景分割

  • R1_634502
    了解作者
  • 8.2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-06 05:01
    上传日期
基于opencv2 高斯处理视频并跟踪运动做前景背景分割 ,主要采用cvUpdateBGStatModel()函数
高斯处理视频并跟踪运动做前景背景分割.rar
  • 21.【高斯处理视频并跟踪运动做前景背景分割】bgfg2
  • 前后背景分离-高斯
  • 前后背景分离-高斯.vcxproj.filters
    942B
  • 21_fgbackgroundSeparation.cpp
    2.8KB
  • 前后背景分离-高斯.vcxproj.user
    141B
  • 前后背景分离-高斯.vcxproj
    3.8KB
  • 前后背景分离-高斯.sln
    922B
  • 前后背景分离-高斯.suo
    16KB
内容介绍
//--------------------------------------【程序说明】------------------------------------------- // 程序说明:《OpenCV3编程入门》OpenCV2版书本附赠示例程序21 // 程序描述:高斯处理视频并跟踪运动做前景背景分割 // 测试所用操作系统: Windows 7 64bit // 测试所用IDE版本:Visual Studio 2010 // 测试所用OpenCV版本: 2.4.9 // 2014年11月 Revised by @浅墨_毛星云 //------------------------------------------------------------------------------------------------ //---------------------------------【头文件、命名空间包含部分】---------------------------- // 描述:包含程序所使用的头文件和命名空间 //------------------------------------------------------------------------------------------------ #include "opencv2/core/core.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/video/background_segm.hpp" #include "opencv2/highgui/highgui.hpp" #include <stdio.h> using namespace std; using namespace cv; //--------------------------------------【help( )函数】-------------------------------------- // 描述:输出一些帮助信息 //---------------------------------------------------------------------------------------------- static void help() { printf("\n\n\n\t此程序展示了用高斯背景建模进行视频的背景分离方法.\n\n\t主要采用cvUpdateBGStatModel()函数\n" "\n\t程序首先会“学习背景”,然后进行分割。\n" "\n\t可以用过【Space】空格进行功能切换。\n\n"); } //-----------------------------------【main( )函数】-------------------------------------------- // 描述:控制台应用程序的入口函数,我们的程序从这里开始 //------------------------------------------------------------------------------------------------- int main(int argc, const char** argv) { help(); VideoCapture cap; bool update_bg_model = true; cap.open(0); if( !cap.isOpened() ) { printf("can not open camera or video file\n"); return -1; } namedWindow("image", WINDOW_AUTOSIZE); namedWindow("foreground mask", WINDOW_AUTOSIZE); namedWindow("foreground image", WINDOW_AUTOSIZE); namedWindow("mean background image", WINDOW_AUTOSIZE); BackgroundSubtractorMOG2 bg_model;//(100, 3, 0.3, 5); Mat img, fgmask, fgimg; for(;;) { cap >> img; if( img.empty() ) break; //cvtColor(_img, img, COLOR_BGR2GRAY); if( fgimg.empty() ) fgimg.create(img.size(), img.type()); //更新模型 bg_model(img, fgmask, update_bg_model ? -1 : 0); fgimg = Scalar::all(0); img.copyTo(fgimg, fgmask); Mat bgimg; bg_model.getBackgroundImage(bgimg); imshow("image", img); imshow("foreground mask", fgmask); imshow("foreground image", fgimg); if(!bgimg.empty()) imshow("mean background image", bgimg ); char k = (char)waitKey(30); if( k == 27 ) break; if( k == ' ' ) { update_bg_model = !update_bg_model; if(update_bg_model) printf("\t>背景更新(Background update)已打开\n"); else printf("\t>背景更新(Background update)已关闭\n"); } } return 0; }
评论
    相关推荐
    • OpenCV
      OpenCV
    • Unbuntu Opencv
      在Linuix下配置Opencv要先对Opencv进行编译,这是用Cmaker已经编译好的文件,可以直接sudo命令用。
    • opencv手册
      opencv手册,详细介绍了opencv的封装函数,内容全面Opencv开发必备!
    • opencv
      opencv
    • OpenCV
      使用opencv和dlib构建基本的Compyter视觉应用程序
    • opencv程序
      OpenCV程序包含双目摄像机标定,棋盘图像矫正,立体像对校正,立体匹配,三维重建模块。然后用OpenGL显示重建效果,并可以通过键盘方向键旋转
    • opencv
      这是一个opencv库。可以让我们方便的使用,拿走不谢。
    • OpenCV
      OpenCV
    • opencv
      OpenCV
    • OpenCV
      OpenCV 特征检测,分类器图像