#include <opencv2/bgsegm.hpp>
#include <opencv2/video.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <sstream>
using namespace cv;
using namespace std;
using namespace bgsegm;
// GMG目标建模检测
void detectBackground(Ptr<BackgroundSubtractorGMG> pBackgroundGMG,string videoFilename)
{cv::Mat frame,FGMask; int keyboard=0;// 视频获取VideoCapture capture(videoFilename);if(!capture.isOpened())exit(EXIT_FAILURE);// 按下q键和esc退出while( (char)keyboard != 'q' && (char)keyboard != 27 ){// 读取当前帧if(!capture.read(frame)) exit(EXIT_FAILURE);// 图像尺寸缩小cv::resize(frame, frame,cv::Size(), 0.2,0.2);// 背景建模参数设定pBackgroundGMG->setDefaultLearningRate(0.05);pBackgroundGMG->setDecisionThreshold(0.9);pBackgroundGMG->setSmoothingRadius(9);pBackgroundGMG->setNumFrames(100);//  背景模型生成pBackgroundGMG->apply(frame, FGMask);// 输出当前帧号stringstream ss;rectangle(frame, cv::Point(10, 2), cv::Point(100,20),cv::Scalar(255,255,255), -1);ss << capture.get(CAP_PROP_POS_FRAMES);string frameNumberString = ss.str();// 左上角显示帧号putText(frame, frameNumberString.c_str(),cv::Point(15, 15),FONT_HERSHEY_SIMPLEX, 0.5 , cv::Scalar(0,0,0));// 输出结果imshow("Frame", frame);imshow("FGMask", FGMask);keyboard = waitKey(30);}// 视频流释放capture.release();
}
int main(int argc, char* argv[])
{// 创建GMG背景建模类Ptr<BackgroundSubtractorGMG> pBackgroundGMG = createBackgroundSubtractorGMG(); string inputPath = "..\\images\\car.avi";// 背景建模检测detectBackground(pBackgroundGMG, inputPath);return 0;
}

转载:http://blog.csdn.net/zhuwei1988

BackgroundSubtractorGMG 背景建模相关推荐

  1. OpenCV中高斯混合背景建模算法汇总

    2019独角兽企业重金招聘Python工程师标准>>> 引用地址:http://blog.csdn.net/chuhang_zhqr/article/details/51060745 ...

  2. 【opencv源码剖析】背景建模mog2

    前言 opencv实现的背景建模方法有很多,早期的opencv版本modules/video/src下有acmmm2003(2.3.1版本).codebook(2.3.1版本).gmg(2.4.8版本 ...

  3. OpenCV4中有哪些视频背景/前景分割(背景建模/前景提取)算法的类,它们各自的算法原理、特点是什么,并附示例代码

    关于OpenCV4中有哪些视频背景/前景分割(背景建模/前景提取)算法的类,汇总如下: 上面的汇总不仅显示了OpenCV4中有哪些视频背景/前景分割(背景建模/前景提取)算法的类,还显示了它们的继承. ...

  4. OpenCV3.0中有哪些视频背景/前景分割(背景建模/前景提取)算法的类,它们各自的算法原理、特点是什么,并附示例代码

    关于OpenCV3中有哪些视频背景/前景分割(背景建模/前景提取)算法的类,汇总如下: cv::Algorithm   cv::BackgroundSubtractor     cv::Backgro ...

  5. 【背景建模】基于时空特征(续2)

    参考文献 基于自适应混合高斯模型的时空背景建模 自动化学报 2009 创新点: 1).在混合高斯模型基础上,混合了空间分布信息特征. 2).空间模型和时间模型进行前景检测时,如何决策. 文中主要是利用 ...

  6. 【计算机视觉】背景建模之PBAS

    本文是根据M. Hofmann等人在2012年的IEEE Workshop on Change Detection上发表的"Background Segmentation with Feed ...

  7. 运动目标的背景建模-混合高斯背景建模和KNN模型建模的OpenCV代码实现

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 运动检测通常用于分析视频序列中的移动目标,如车辆 ...

  8. 低秩矩阵的应用--背景建模

    背景建模是从拍摄的视频中分离出背景和前景. 由于背景的视频基本是不变的,所以如果把每帧当做一个矩阵的一列那么,矩阵是低秩的,所以低秩矩阵的恢复来恢复出背景. 今天主要完成了,在自己的数据库让进行背景和 ...

  9. 背景建模--Vibe 算法改进

    背景建模--Vibe 算法改进 一.概述 针对鬼影问题,提出一种了基于前景区域与邻域背景区域直方图相似性度量的判别方法,检测并消除鬼影:针对静止目标问题,改进了Vibe背景模型的更新策略,有效抑制静止 ...

最新文章

  1. OpenCV 3最新模块介绍
  2. html5支付宝主页面代码,JavaScript高仿支付宝倒计时页面及代码实现
  3. JDK1.7配置及测试
  4. linux 开启 自动挂载U盘 权限的设置
  5. 9.2-3 pstree pgrep
  6. python 3d大数据可视化软件_最受欢迎的大数据可视化软件
  7. linux下忘记mysql root密码解决办法
  8. 一个页面,WEB全功能
  9. 黄章“官宣”魅族17系列:骁龙865加持 不止一个版本
  10. 这些 Linux 技巧大大提高你的工作效率
  11. mysql中最常用的存储引擎有_mysql常用的存储引擎有哪些
  12. 读-深入理解Java虚拟机(1-2章)随笔
  13. w3c subscribe
  14. VBA连接MySQL数据库以及ODBC的配置(ODBC版本和MySQL版本如果不匹配会出现驱动和应用程序的错误)...
  15. 查询开户银行的现代化支付行号
  16. Excel取消合并单元格后自动填写内容
  17. taocat服务器的作用,随笔2_tww
  18. 涉案资金超10亿,又一洗钱团伙被端,“二清”警钟不能忘
  19. 【记录+解决】ubuntu服务器显卡驱动安装;Ubuntu20.04重启后找不到Nvidia显卡驱动
  20. shell编程实现一些小游戏

热门文章

  1. 1020 Tree Traversals
  2. explicit specialization of ‘Race‘ after instantiation ,implicit instantiation first required here。
  3. 从用户角度看,DBMS应当提供哪些功能?
  4. Python List 列表list()方法
  5. 物联网技术正颠覆传统医疗行业
  6. apache性能测试工具ab使用详解
  7. oracle--查看表空间大小以及修改表空间大小
  8. redhat中使用securecrt 中文乱码解决办法
  9. AD ---- 活动目录的日常管理操作
  10. java实现验证码功能