【opencv 官方教程】翻译6 Background Subtraction 和级联分类器
2016-12-26 15:29
441 查看
本底扣除Background Subtraction
How to Use Background Subtraction MethodsCompatibility: > OpenCV 2.4.6
Author: Domenico Daniele Bloisi
We will learn how to extract foreground masks from both videos and sequences of images and to show them.
基本原理:
发现背景图片和特定图片之间的差异,从中获取相对的前景目标
步骤:
准备三个Mat,分别存储currentframe、两个foreground masks(具体原因请访问官方网站查看完整说明,我觉得他们是错版了)
准备俩cv::BackgroundSubtractor objects用以生成foreground masks.
分析用户选择的是图像还是视频,接下来以视频为例
等到视频放到最后或者按q、esc
每帧都被用来计算上一时刻的foreground mask和作为下一时刻的background。
给当前帧打上标记(编号和高亮白框)
显示当前帧和mask的结果
对于图像的处理和视频类似
效果:
级联分类器
Cascade ClassifierCompatibility: > OpenCV 2.0
Author: Ana Huamán
Here we learn how to use objdetect to find objects in our images or videos
Cascade Classifier Training
This tutorial describes opencv_traincascade application and its parameters.
对于级联分类器的简介
In this tutorial you will learn how to:Use the
cv::CascadeClassifier class to detect objects in a video stream. Particularly, we will use the functions: 检测视频流中的物体
cv::CascadeClassifier::load to load a .xml classifier file. It can be either a Haar or a LBP classifer 装载一个xml分类文件
cv::CascadeClassifier::detectMultiScale to perform the detection. 展示分类
//-- 1. Load the cascades
if( !face_cascade.load( face_cascade_name ) ){ printf("--(!)Error
loading face cascade\n"); return -1; };
if( !eyes_cascade.load( eyes_cascade_name ) ){ printf("--(!)Error
loading eyes cascade\n"); return -1; };
//-- 2. Read the video stream
capture.open( -1 );
if ( ! capture.isOpened() ) { printf("--(!)Error
opening video capture\n"); return -1; }
//-- 3. Apply the classifier to the frame
detectAndDisplay( frame );
//-- Detect faces
//-- In each face, detect eyes
级联分类器训练
简介boosted cascade of weak classifiers包含两部分:训练阶段和侦测阶段(侦测采用HAAR或者LBP模式)。接下来是关于boosted cascade的训练的说明。
目前的指导内容包含收集训练数据、准备训练数据、执行模式训练。
准备训练数据:
必须手动(如果你有一个足够智能的AI那也不一定了)准备正面和反面的样例 (通过opencv_createsamples application)
反面样例要求是无关或者你不想要被检测出的
正面样例要求给出所关注目标的样子,略
级联训练:
用准备的数据指定方式进行训练,结果会被存到cascade.xml里面
可视化级联分类:
把训练过程可视化是很有用的,opencv_visualisation这个应用提供了这样的功能。
相关文章推荐
- 【opencv 官方教程】翻译2 核心功能 下 傅里叶分离变换 XML格式IO
- 【opencv 官方教程】翻译8 进阶图像操作--HDR
- 【opencv 官方教程】翻译3 图像处理 上
- 【opencv 官方教程】翻译4 highgui module
- 【opencv 官方教程】翻译1 基本安装使用 编译工程 读取、显示、保存图片
- 【opencv 官方教程】翻译7 机器学习
- 【opencv 官方教程】翻译9 GPU加速
- 【opencv 官方教程】翻译2 核心功能 中 图像操作 线性变换 亮度调整 简单绘图
- 【opencv 官方教程】翻译3 图像处理 下
- 【opencv 官方教程】翻译2 核心功能 上
- 【转】【翻译】Orx官方教程:6.声音和音乐(sound&music)
- 【转】【翻译】Orx官方教程:05.视口与摄像机 (viewport & camera)
- zzopencv2.2更新(翻译官方网)
- opencv2.2更新(翻译官方网)
- Flex官方快速入门教程翻译之19.Adding_Drag_and_Drop增加拖放功能
- Dojo 1.6 官方教程翻译:创建基于模板的小部件(Widget)
- 【转】【翻译】Orx官方教程:4.(anim)动画
- 【转】【翻译】Orx官方教程:1. object
- Dojo 1.6 官方教程翻译:创建基于模板的小部件(Widget)
- 翻译: MyEclipse Hibernate 和 Spring 中文教程(含官方视频)