OPENCV haarcascade文件解析
来源:互联网 发布:淘宝宝贝突然搜索不到 编辑:程序博客网 时间:2024/04/30 01:41
用OPENCV作基于特征的人脸检测的人肯定不在少数。
因为要用DSP加载这个haarcascade的XML文件,所以今天仔细看了下OPENCV的文档,讲的很详细,在这里作记录,希望对别人也有启发。
haar feather-based cascade classifier for object detection 是由paul viola提出,由rainer lienhart改进。首先,分类器是由数千个一致尺寸的特定物体我们称为正例和反例训练出来。在分类器训练以后,可以用来对一幅图像的区域作出检测。分类器如果检测到该物体跟训练物体类似就输出1,否则输出0.在一幅图像中搜索目标,可以在图像上移动整个搜索窗口。分类器设计成很容易改变尺寸,这比改变图像的尺寸效率更高。所以要在一幅图像中找到未知尺寸的物体,需要对不同的比例作多次扫描。
Boosted Haar classifier structures.#define CV_HAAR_FEATURE_MAX 3/* a haar feature consists of 2-3 rectangles with appropriate weights */typedef struct CvHaarFeature{int tilted; /* 0 means up-right feature, 1 means 45--rotated feature *//* 2-3 rectangles with weights of opposite signs andwith absolute values inversely proportional to the areas of therectangles. If rect[2].weight !=0, thenthe feature consists of 3 rectangles, otherwise it consists of 2 */struct{CvRect r;float weight;} rect[CV_HAAR_FEATURE_MAX];}CvHaarFeature;haar特征包括一个tilted标志,tilted = 0 是直立型特征 tilted =1 是45度特征 特征是2-3 个带权重的矩形,如果rect[2].weight != 0 则特征是3个矩形,否则是 2 个矩形/* a single tree classifier (stump in the simplest case) that returns theresponse for the feature at the particular image location (i.e. pixelsum over subrectangles of the window) and gives out a value dependingon the response */typedef struct CvHaarClassifier{int count; /* number of nodes in the decision tree *//* these are "parallel" arrays. Every index \texttt{i}corresponds to a node of the decision tree (root has 0-th index).left[i] - index of the left child (or negated index if theleft child is a leaf)right[i] - index of the right child (or negated index if theright child is a leaf)threshold[i] - branch threshold. if feature responce is <= threshold,left branch is chosen, otherwise right branch is chosen.alpha[i] - output value correponding to the leaf. */CvHaarFeature* haar_feature;float* threshold;int* left;int* right;float* alpha;}CvHaarClassifier;haar分类器的结构如上面的代码所示,对比下面的haarcascade分类器更容易理解
<!-- stage 0 --> <trees> <_> <!-- tree 0 --> <_> <!-- root node --> <feature> <rects> <_>2 7 16 4 -1.</_> <_>2 9 16 2 2.</_></rects> <tilted>0</tilted></feature> <threshold>4.3272329494357109e-003</threshold> <left_val>0.0383819006383419</left_val> <right_node>1</right_node></_>
- OPENCV haarcascade文件解析
- OPENCV haarcascade文件解析
- opencv的haarcascade源码分析-很详细
- opencv文件结构解析
- opencv文件结构解析
- opencv 文件模块 解析
- opencv文件结构解析
- opencv无法解析外部文件
- opencv 人脸识别 眼睛识别 鼻子嘴巴等等的分类器haarcascade
- opencv的haarcascade模型人脸检测输出框的得分总结
- haarcascade人脸检测
- haarcascade 分类器(视频图像皆可)
- opencv CvScalar解析
- opencv CvScalar解析 .
- opencv源码解析---经典
- OpenCV中的Ptr解析
- opencv源码解析HOG
- OpenCV中Scalar解析
- 单片说明中定义数组空间不足解决
- VC++学习笔记(五)
- iPhone上实现流媒体播放器
- 九度1018
- VC++学习笔记(六)
- OPENCV haarcascade文件解析
- F1论坛快速回复工具...
- 设计模式(1)-模板模式(Template)
- php5中调用webservice
- matlab 连接 mysql 数据库
- 尚观-嵌入式学习最佳入门课程
- 【转】c/c++资源(源码、开发工具、开发库)
- JNI多线程
- Android"重力加速度传感器"从驱动到应用层全程分析