【原/转】opencv的级联分类器训练与分类全程记录

简介:

众所周知,opencv下有自带的供人脸识别以及行人检测的分类器,也就是说已经有现成的xml文件供你用。如果我们不做人脸识别或者行人检测,而是想做点其他的目标检测该怎么做呢?答案自然是自己训练一个特定的训练器。opencv里面比较常用的分类器有svm以及级联分类器,svm的训练以及分类很简单,这里不再赘述,这里谈谈级联分类器的训练。级联分类器可是好东西,opencv已经封装了多尺度检测方法(multiScaleDetector)以及绘制外接矩形的方法,这两个方法为目标检测提供了非常大的便利性。以下是本系列教程的总体流程:

1.训练前的准备:opencv_createsamples.exe和 opencv_traincascade.exe程序的编译

2.级联分类器的训练

3.级联分类器的应用

===================

1.训练的准备在开始训练分类器前需要先获取到opencv_createsamples.exe以及opencv_traincascade.exe,有两种方式:第一自己编译,可以按照博客的内容自己编译,不过按照该方法最后运行出来的结果没有这两个可执行程序产生;第二拿别人编译好的文件,从链接http://en.pudn.com/downloads204/sourcecode/graph/texture_mapping/detail958471_en.html处下载整个工程,在bin目录下有这两个文件,不过是opencv2.2版本的不影响,要用的时候把整个工程的文件(exe+dll)同时拷出来,否则会报“找不到dll”的错误。

2.分类器的训练:

按照帖子http://jingyan.baidu.com/article/4dc40848f50689c8d946f197.html的操作一步步做下去,注意事项见:

http://blog.csdn.net/xidianzhimeng/article/details/10470839

结合自己的经验补充如下:

1.在train时,numPos是指每个stage上用的正样本数,一般取vec里面的正样本数的90%;

 

目前卡在错误:

===== TRAINING 0-stage =====
<BEGIN
POS count : consumed   16 : 16
Train dataset for temp stage can not be filled. Branch training terminated.

找了半天资料试了之后仍旧无解,准备换台机子试试,to be continue...

 本文转自编程小翁博客园博客,原文链接:http://www.cnblogs.com/wengzilin/p/3478865.html,如需转载请自行联系原作者

相关文章
|
XML 机器学习/深度学习 存储
基于OpenCV训练口罩检测数据集并测试
基于OpenCV训练口罩检测数据集并测试
388 0
基于OpenCV训练口罩检测数据集并测试
|
XML 数据采集 计算机视觉
基于opencv的haar训练自己的识别器【含 opencv_traincascade.exe和opencv_haartraining.exe下载】
基于opencv的haar训练自己的识别器【含 opencv_traincascade.exe和opencv_haartraining.exe下载】
550 0
基于opencv的haar训练自己的识别器【含 opencv_traincascade.exe和opencv_haartraining.exe下载】
|
XML 编译器 C语言
OpenCV编程:OpenCV3.X训练自己的分类器
OpenCV编程:OpenCV3.X训练自己的分类器
200 0
OpenCV编程:OpenCV3.X训练自己的分类器
|
机器学习/深度学习 计算机视觉 iOS开发
OpenCV实现手写体数字训练与识别
OpenCV实现手写体数字训练与识别 机器学习(ML)是OpenCV模块之一,对于常见的数字识别与英文字母识别都可以做到很高的识别率,完成这类应用的主要思想与方法是首选对训练图像数据完成预处理与特征提取,根据特征数据组成符合OpenCV要求的训练数据集与标记集,然后通过机器学习的KNN、SVM、ANN等方法完成训练,训练结束之后保存训练结果,对待检测的图像完成分割、二值化、ROI等操作之后,加载训练好的分类数据,就可以预言未知分类。
2671 0
|
XML 计算机视觉 数据格式
opencv 之 icvCreateHidHaarClassifierCascade 分类器信息初始化函数部分详细代码注释。
请看注释。这个函数,是人脸识别主函数,里面出现过的函数之一,作用是初始化分类器的数据,就是一个xml文件的数据初始化。 1 static CvHidHaarClassifierCascade* icvCreateHidHaarClassifierCascade( CvHaarClassi...
763 0
|
XML 计算机视觉 数据格式
|
1月前
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
364 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
2月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
51 4
|
2月前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
|
3月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
下一篇
无影云桌面