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

  • k1_177379
    了解作者
  • 8.3KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-01 11:27
    上传日期
视频处理中,利用混合高斯模型进行目标跟踪,可以很好地将前景背景分割。
【高斯处理视频并跟踪运动做前景背景分割】.rar
  • 21.【高斯处理视频并跟踪运动做前景背景分割】bgfg2
  • 前后背景分离-高斯
  • 前后背景分离-高斯.vcxproj.filters
    963B
  • 21_fgbackgroundSeparation.cpp
    2.8KB
  • 前后背景分离-高斯.vcxproj.user
    143B
  • 前后背景分离-高斯.vcxproj
    3.9KB
  • 前后背景分离-高斯.sln
    942B
  • 前后背景分离-高斯.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; }
评论
    相关推荐
    • 目标跟踪
      解压后是多目标跟踪的原始程序,可以实现实时的多目标跟踪,效果较好
    • 目标跟踪
      vibe 前景检测+kalman多目标跟踪
    • 目标跟踪
      可以实现多目标跟踪,并画出目标移动轨迹,也可用于车流量统计,效果良好,具有较好的参考价值,欢迎下载交流。
    • 目标跟踪
      用于车载雷达无迹卡尔曼滤波,可以参考,哟用
    • 运动目标跟踪
      运动目标跟踪
    • 卡尔曼目标跟踪
      卡尔曼滤波做目标跟踪 效果不错 在此基础上可以增加多个跟踪目标,采用相关关联技术实现多目标跟踪
    • 目标跟踪系统
      这个也还不错,适合新手看看.可以考虑下载~~
    • 人体目标跟踪
      通过自带摄像头能够很好的对单个或者多个目标进行自动跟踪
    • 视频目标跟踪
      本代码是行人单目标跟踪,用于目标的检测和跟踪,速度非常快。
    • 彩色目标跟踪
      用鼠标选取需要跟踪的部分,根据颜色,画出直方图并跟踪