背景建模技术(四):视频分析(VideoAnalysis)模块
视频分析模块主要包含两个函数,一个是VideoAnalysis::setup(....),其主要功能就是确定测试的视频是视频文件或摄像头输入亦或是采用命令行参数;第二个函数是VideoAnalysis::start(),其主要功能初始化视频处理、设置视频获取方式以及开始视频捕获功能等。
1、VideoAnalysis::setup(....)
该函数的代码如下:
bool VideoAnalysis::setup(int argc, const char **argv){bool flag = false;const char* keys ="{hp|help|false|Print help message}""{uf|use_file|false|Use video file}""{fn|filename||Specify video file}""{uc|use_cam|false|Use camera}""{ca|camera|0|Specify camera index}""{co|use_comp|false|Use mask comparator}""{st|stopAt|0|Frame number to stop}""{im|imgref||Specify image file}" ;cv::CommandLineParser cmd(argc, argv, keys);use_commandif (argc <= 1 || cmd.get<bool>("help") == true){cout << "Usage: " << argv[0] << " [options]" << endl;cout << "Avaible options:" << endl;cmd.printParams();return false;}use_fileuse_file = cmd.get<bool>("use_file");if (use_file){filename = cmd.get<string>("filename");if (filename.empty()){cout << "Specify filename" << endl;return false;}flag = true;}use_camerause_camera = cmd.get<bool>("use_cam");if (use_camera){cameraIndex = cmd.get<int>("camera");flag = true;}use_compif (flag == true){use_comp = cmd.get<bool>("use_comp");if (use_comp){frameToStop = cmd.get<int>("stopAt");imgref = cmd.get<string>("imgref");if (imgref.empty()){cout << "Specify image reference" << endl;return false;}}}return flag;}
它的主要流程如下图所示:
2、VideoAnalysis::start()
该函数的代码如下:
void VideoAnalysis::start(){//cout << "Press 'ESC' to stop..." << endl;do{videoCapture = new VideoCapture;frameProcessor = new FrameProcessor;frameProcessor->init();frameProcessor->frameToStop = frameToStop;frameProcessor->imgref = imgref;videoCapture->setFrameProcessor(frameProcessor);///setFrameProcessorif (use_file)videoCapture->setVideo(filename);///setVideoif (use_camera)videoCapture->setCamera(cameraIndex);///setCameravideoCapture->start();///startif (use_file || use_camera)break;frameProcessor->finish();int key = cvWaitKey(500);if (key == KEY_ESC)break;delete frameProcessor;delete videoCapture;} while (1);delete frameProcessor;delete videoCapture;}
它的主要流程如下图所示:
背景建模技术(四):视频分析(VideoAnalysis)模块相关推荐
- 背景建模--Vibe 算法优缺点分析
背景建模--Vibe 算法优缺点分析 一.Vibe 算法的优点 Vibe背景建模为运动目标检测研究邻域开拓了新思路,是一种新颖.快速及有效的运动目标检测算法.其优点有以下两点: 1.思想简单,易于实现 ...
- 智能视频分析技术及应用扫盲
题记:如果四年前你没听说过智能视频分析系统,那很正常,如果你现在还不知道什么是智能视频系统(IVS)系统,那作为一个安防人,说明你已经落伍了.因为它是未来监控的发展方向,行业称之为第五代电视监控技术, ...
- OpenCV视频分析背景提取与前景提取
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 基本思想 OpenCV中支持的两种背景提取算法都是基于模型密度评估 ...
- OpenCV—python 视频分析背景提取与前景提取
文章目录 一.算法 二.代码 MOG2(Mixture of Gaussian) 与 KNN对比 Kmeans 行人检测代码 OpenCV中支持的两种背景提取算法都是 基于模型密度评估,然后在 像素级 ...
- 无线信道建模技术在5G场景下的分析与应用
[摘 要]通过对5G场景下的无线信道建模技术进行分析,给出了不同场景的信道特性和建模方法,并阐述了该技术在理论研究.仿真分析和实际测试中的具体应用方式,为无线信道建模技术在5G中的应用提供参考. [ ...
- 视频分析与多模态融合之一,为什么需要多模态融合
视频分析与多模态融合之一,为什么需要多模态融合 FesianXu 20210130 at Baidu search team 前言 在前文<万字长文漫谈视频理解>[1]中,笔者曾经对视频理 ...
- 视频分析服务器系统架构,视频管理软件技术分析报告(四)--基于SOA的VMS软件架构设计...
设备管理服务(包含设备IO服务):是ONVIF中定义的核心服务,对设备进行设备参数,设备状态等信息的管理和配置.通过设备管理服务能够获取其它服务的地址. 媒体服务:提供对媒体设备相关元数据(视频源.视 ...
- python加减法视频教程免费_一起学opencv-python三十八(视频分析:背景减法)
首先要纠正一下上一讲的一些地方. 这里的移动其实并不仅仅是一个点的移动,那个中心线其实是不动的,动的是那些亮度值. 左边图是在(x,y)附近的像素点亮度值分布和二次曲线拟合情况,这是一维情况,二维应该 ...
- 国内智能视频分析监控技术的出路
国内智能视频分析监控技术的出路 ^来自网络,免费共享 一.什么叫智能视频分析监控技术 2007年来,智能视频分析监控技术成了安防领域的一个热点话题,影响越来越大越来越广,对此,人人都有自己的理解.但做 ...
最新文章
- USACO JANUARY——矩形[rects]
- Knative 基本功能深入剖析:Knative Eventing 之 Sequence 介绍
- 科大星云诗社动态20210212
- zblog如何调用HTML,Zblog调用栏目文章的方法
- 腾讯Groupon合资团购网站 高朋网悄然上线
- JMeter测试组件
- 计算机管理无法连接虚拟磁盘服务,虚拟磁盘服务错误怎么操作【图文教程】
- Java 8:再见手册SQL,您好!
- C语言中输入输出fread和fwrite函数的用法
- python 开闭原则_Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
- 疫时急速挑战,AI 落地大考
- 线段树模板1(例题BZOJ1012)单点修改+区间查询
- 下载历史版本的英伟达显卡驱动
- 泛微云桥任意文件读取漏洞[尽快升级]
- Stream系列(六)Match方法使用
- 吴伯凡-认知方法论-原始舒适区=0认知
- 把m个球放到n个盒子里,有多少种方法 球盒问题,8种情况
- 解决新版本谷歌浏览器CROS跨域问题
- python任务编排_工作流中的任务编排与治理
- 最新 android系统 设备 分布情况,CNCERT 2018年第一季度国内操作系统及浏览器占比情况分析...