自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

迷途中的前进

其实,我们每一个人有时候都是迷路的孩子,但是还得在摸索中前行!

  • 博客(34)
  • 资源 (8)
  • 收藏
  • 关注

原创 icvCreateCARTStageClassifier训练强分类器源代码框架

icvCreateCARTStageClassifier函数的详细分析见我博文中的另外一篇文章http://blog.csdn.net/ding977921830/article/details/46442805,这篇文章也是转载的迷雾forest博客中的一篇文章http://blog.csdn.net/wsj998689aa/article/details/42398235,在这里我要感谢迷雾forest的无私分享和付出,能让我对该源代码能有更深理解。 icvCreateCARTStageClassif

2015-06-30 19:32:42 856

原创 icvInitCARTHaarClassifier

icvInitCARTHaarClassifier *初始化分类回归树haar分类器函数 *作用:把括号里的参数进行传递,也就是把后两个参数都传递给第一个参数 *具体来说就是,首先把intHaarFeatures 的特征按照cart中compidx[i]的顺序传递给carthaar(包括haar特征和快速haar特征); *然后,再把cart中的参数传递给carthaar。

2015-06-26 14:42:02 831

翻译 cvBoostStartTraining

cvBoostStartTraining * * 该函数的作用是在第一个弱分类器训练时,初始化训练过程,计算特征值,并初始化样本权重 * * 参数含义如下: * trainClasses * 它是训练样本类的向量,每个元素要么是0,要么是1;而且数据0,1的数据烈性必须是CV_32FC1,即32位浮点型单通道的类型 * weakTrainVals * 第一个训练好的弱分类器的响应值,数据类型是CV_32FC1. * 注:响应值,我的理解是正负样本在该弱分

2015-06-26 09:37:39 970

原创 cvUserdata

/* Passed to callback functions */typedef struct CvUserdata //首先定义结构体{ CvHaarTrainingData* trainingData; CvIntHaarFeatures* haarFeatures;} CvUserdata;CV_INLINECvUserdata cvUserdata( Cv

2015-06-25 21:12:58 776

原创 CV_HAAR_FEATURE_DESC_MAX和CV_HAAR_FEATURE_MAX

#define CV_HAAR_FEATURE_MAX 3 //预定义的一个宏,在程序中表示一个haar特征由至多三个矩形组成#define CV_HAAR_FEATURE_DESC_MAX 20 //预定义的一个宏,描述haar特征的一个类型typedef int sum_type;typedef double sqsum_t

2015-06-25 14:47:26 987

转载 opencv源码分析:icvCreateCARTStageClassifier之二(转载)

本文转自:http://blog.sina.com.cn/s/blog_5f853eb10100sdgn.html,在我博文中有另一篇文章,对icvCreateCARTStageClassifier介绍更为详细,如下http://blog.csdn.net/ding977921830/article/details/46442805staticCvIntHaarClassifier* i

2015-06-24 16:34:03 651

转载 OpenCV源码中Haar训练及特征提取的代码说明

本文转自:http://www.cnblogs.com/YCwavelet/p/3545525.html。本文虽然是转载的,但是我稍微调整了一下版面,所以看着是比原来的舒服多了。,大家如有疑问还是请参考原文http://www.cnblogs.com/YCwavelet/p/3545525.html//针对大小为winsize的图,计算所有HaarFeature的rect,存入featur

2015-06-24 16:08:19 4038

原创 CvScalar

typedef struct CvScalar{  double val[4];  }CvScalar;它是opencv常用的结构体,在于仕琪的《学习opencv》中指出,其意义是RGBA值。当然这个结构体也可以用于其他用处,因为如果把CvScalar看做是一个普通的结构体时 ,其内部只不过是存储了四个double型的值,分别为val[0],val[1],val[2],val[3],我们

2015-06-24 14:10:39 10995

原创 cvBoostStartTraining, cvBoostNextWeakClassifier和 cvBoostEndTraining

/****************************************************************************************\* Boosting *\*****************

2015-06-24 10:50:17 1080

原创 opencv源码分析:icvGetTrainingDataCallback简介

/**函数icvGetTrainingDataCallback介绍*功能:对所有样本计算特征编号从first开始的num个特征,并保存到mat里。*输入:*CvMat* mat矩阵样本总数个行,num个列。保存每个样本的num个特征值。*First:特征类型编号的开始处*Num:要计算的特征类型个数。*Userdata:积分矩阵和权重、特征模板等信息。*输出:*CvMat* ma

2015-06-23 16:58:03 954

原创 c :函数指针详解

在研究opencv源代码的过程中,处处可见到函数指针,于是翻出来谭浩强的《C程序设计》把函数指针这一块内容再补一补!1 定义数据类型 (*指针变量名)(参数表);注:数据类型是指的函数返回值的类型;(*指针变量名)两侧的括号不能省略,表示p先与*结合,是指针变量,然后再与后面的(参数表)结合;(参数表)可以是一个参数,也可以是多个参数,不过在引用的时候要保证形参与实参一

2015-06-23 14:36:18 695

原创 c++:变量,数组和指针

指针是c++从c语言中继承过来的重要数据类型,它提供了一种较为直接的地址操作手段。1 数据在内存中的地址   对于高级语言来说,我们是通过定义变量的方式来为数据分配内存空间,使得变量名与该变量所占内存空间相联系 的,然后通过变量名来操作数据,也就是访问数据所占的内存空间。1.1 变量的地址    变量具有值和地址,要得到一个变量的地址,需要进行地址的运算(&)。比如: #inc

2015-06-19 09:28:26 804

原创 cvEvalCARTClassifier

cvEvalCARTClassifier结构体的内容在cvboost.cpp文件里面,具体内容如下:CV_BOOST_IMPLfloat cvEvalCARTClassifier( CvClassifier* classifier, CvMat* sample ){ CV_FUNCNAME( "cvEvalCARTClassifier" ); int idx = 0;

2015-06-17 16:17:33 843

原创 CvValArray和CvCARTNode

CvValArray和CvCARTNode

2015-06-17 10:04:53 1263

原创 CvClassifier和宏 CV_CLASSIFIER_FIELDS()

/* classifier fields common to all classifiers */#define CV_CLASSIFIER_FIELDS() \ int flags;

2015-06-17 09:40:54 1322

转载 Adaboost原理、应用

本文转自:http://blog.sina.com.cn/s/blog_77ed43e30101addd.html       Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准

2015-06-16 12:00:40 1076

原创 CvStumpClassifier,CvCARTClassifier和CvCARTHaarClassifier

CvStumpClassifier,CvCARTClassifier和CvCARTHaarClassifier的区别从复杂程度来看:CvStumpClassifier<CvCARTClassifier<CvCARTHaarClassifier从能代表的范围来看:CvStumpClassifier>CvCARTClassifier>CvCARTHaarClassifier

2015-06-16 10:39:59 814

原创 cvCreateMTStumpClassifier中MT的含义

我在研究这个函数代码的过程中,老师搞不清楚这个函数的MT的含义,困扰了我很长时间。一开始我猜测是most threshold,或者是其他的几个,以为是错误的,我就不说了。最后终于搞清楚了--------cvCreateMTStumpClassifier函数(这是一个生成多阈值(Multi-threshold)stump分类器的函数)。

2015-06-11 17:39:54 829

原创 opencv源码分析:cvCreateMTStumpClassifier最优弱分类器的代码框架

cvCreateMTStumpClassifier计算最优弱分类器的代码总体思路

2015-06-10 16:20:39 776

转载 Opencv研读笔记:haartraining程序之icvCreateCARTStageClassifier函数详解~

本文转自:http://blog.csdn.net/wsj998689aa/article/details/42398235之前介绍了haartraining程序中的cvCreateMTStumpClassifier函数,这个函数的功能是计算最优弱分类器,这篇文章介绍一下自己对haartraining中关于强分类器计算的一些理解,也就是程序中的icvCreateCARTStageClassif

2015-06-10 15:49:34 1088

原创 傅里叶变换(非常经典)非常容易懂,值得收藏

数学是我弱项,傅里叶更是学的我晕晕乎乎,但是,这几篇文章我不得不转,真的是非常好,该作者正是大牛中的大牛,由于他图片太多,时间太忙,我也懒得一点一点的上传,直接上链接,一个是方便我将来再回过头来查看,另一方面,方便大家,也是汇报csdn博客,汇集了天下很多各个领域的大牛,让我从其中学习到了很多知识。   1 傅里叶分析之掐死教程(完整版)更新于2014.06.06http://zhua

2015-06-09 15:17:33 11038

原创 宏CV_IS_ROW_SAMPLE的含义

在函数cvCreatMTStumpClassifier中遇到了CV_IS_ROW_SAMPLE,网上查了下资料,很少,现在我总结如下,希望能帮助大家理解。如大家对cvCreatMTStumpClassifier不理解的,请参考我博客中的文章http://blog.csdn.net/ding977921830/article/details/46356789和http://blog.csdn.net/ding977921830/article/details/46412465。

2015-06-09 14:33:56 2936

转载 opencv之莫名其妙的条件宏ICV_DEF_FIND_STUMP_THRESHOLD_SQ解释~

本博转载自:http://www.itnose.net/detail/6183849.html曾经有一刻,一直在纠结opencv->haartraining中的条件宏ICV_DEF_FIND_STUMP_THRESHOLD_SQ的使用,该宏的作用是寻找特征值数组中的最佳阈值,使得error最小。ICV_DEF_FIND_STUMP_THRESHOLD_SQ代码如下:/* least

2015-06-08 15:25:02 3516

转载 OpenCV HaarTraining代码解析(二)cvCreateMTStumpClassifier(建立决策树)

转载地址:http://www.xuebuyuan.com/2225798.htmlHaarTraining关键的部分是建立基分类器classifier,OpenCV中所采用的是CART(决策树的一种):通过调用cvCreateMTStumpClassifier来完成。这里我讨论利用回归的方法来分裂结点,分类的方法只是在分裂结点的方法与之不同而已。cvCreateMTStumpCl

2015-06-08 14:45:49 939

原创 人脸检测和haar分类器视频讲解

刚开始学习人脸检测时,非常郁闷什么是haar分类器,一直是迷迷糊糊的,搞不清楚什么是弱分类器,什么是强分类器,什么是级联分类器,还有检测窗口是如何在待检测图片上运行的,这个小视频会生动形象的展示给你的,想必你会有个直观理解的,快快点击吧 https://vimeo.com/34631229。

2015-06-07 22:35:51 877

转载 Opencv研习笔记:haartraining程序之cvCreateCARTClassifier函数详解(CART树状弱分类器创建)

本文转自http://blog.csdn.net/wsj998689aa/article/details/43411809cvCreateCARTClassifier函数在haartraining程序中用于创建CART树状弱分类器,但一般只采用单一节点的CART分类器,即桩分类器,一个多节点的CART分类器训练耗时很多。根据自己的测试,要等差不多10分钟(2000正样本、2000负样本)才能训

2015-06-05 16:05:34 1043

翻译 CV_Assert的含义

c++: CV_Assert(expr None) expr参数含义:检查的对象。宏CV_Asser(和宏CV_DbgAssert)可以评估指定的表达方式。如果参数none是0,该宏返回一个错误。宏CV_Assert在Debug 和 Release模式下都可以检查运行情况,但是宏CV_DbgAssert只在Debug下可以使用。我的理解:CV_Assert()若括号中的表达式值为false,则返回一个错误信息。

2015-06-05 14:49:38 8946

原创 cvMat结构体的详细解释

/* *CvMat矩阵头 */typedef struct CvMat{int type; //数据类型,比如CV_32FC1含义是32位浮点型单通道,再比如CV_8UC3含义是8位无符号整型三通道int step; //每行数据的字节数int* refcount;/* for internal use only */int hdr_refcount;u

2015-06-04 16:19:35 1582

转载 Adaboost原理、算法以及应用

本文转自http://www.rosoo.net/a/201402/16902.html?utm_source=tuicoolAdaboost是一种迭代算法,其核心 思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分 布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的

2015-06-04 10:22:46 1223

转载 Opencv研读笔记:haartraining程序之cvCreateMTStumpClassifier函数详解~

本文转自http://xy.tuxi.com.cn/168/1682286.html。   cvCreateMTStumpClassifier函数出自opencv中的haartraining程序,在adaboost(cvCreateTreeCascadeClassifier)的强分类器(icvCreateCARTStageClassifier)中被两次调用,该函数用于寻找最优弱分类器,或者

2015-06-04 10:14:16 1685

原创 opencv源码解读读书笔记:负样本的有关源代码

typedef struct CvBackgroundData{ int count; //负样本的数量 char** filename; //负样本的文件名包括绝对路径和扩展名 int l

2015-06-03 16:18:39 1675

原创 opencv源码研究: icvGetHaarTrainingDataFromBG和icvGetHaarTrainingDataFromVec的区别

icvGetHaarTrainingDataFromBG和icvGetHaarTrainingDataFromVec的区别

2015-06-02 21:07:24 1089

原创 icvCreateHaarTrainingData和icvCreateBackgroundData

对于结构体c++语言来说,结构体要先定义再使用,如上文CvHaarTrainingData和CvBackgroundData(http://blog.csdn.net/ding977921830/article/details/46330879);对于训练样本来说,要把训练样本(图片)转化为计算机能识别的.vec文件;对于训练过程来说,要使用训练样本的数据,要先为训练样本的内容分配内存,这就是下面谈到的icvCreateHaarTrainingData和icvCreateBackgroundData。

2015-06-02 16:43:07 985

原创 CvHaarTrainingData和CvBackgroundData的区别

CvHaarTrainingData所包含内容比较齐全,而且是既包含正样本,也包含负样本;CvBackgroundData显然是针对负样本的。

2015-06-02 15:51:42 1145

opencv 车牌识别(超详细注释)

这是我再学习opencv时网上查到的程序,但是我用了大约一周的时间进行分析,整理,注释,思路非常清晰,真心不容易,值得你下载!对于入门也好,深入学习也好,具有重要的参考价值。

2015-03-12

opencv自建人脸库

这是我在学习opencv自建的人脸库,108张正样本,400张负样本,包含正样本和负样本的描述文件,按照描述文件的绝对路径新建文件夹,可以直接运行即可,但是因为样本数量少,所以识别精度低,不过对于自己学习训练样本的步骤足够了,值得一试.

2015-03-12

多个人脸库,正面人脸为主

这是我在训练人脸分类器时收集到的各种人脸库,含有多个经典的人脸库,值得你拥有!不容易收集到的分高点也是值得的

2015-09-22

MIT正面人脸数据库及其扩展

这个是MIT正面人脸数据库,但是图片的数量还太少,于是我在这个库的基础上进行了扩展,简单来说就是对原人脸库的图片进行批量镜像,肯定值得你拥有!这也是网上从来没有的

2015-09-28

ROS中建立三个节点,每个节点都具有发布和订阅图像消息的功能

在ROS(机器人操作系统)中建立三个节点,每个节点都可以订阅和发布图像消息

2017-04-14

强力删除软件

我在学习安装vs2012时刚开始时配置错误,但是删除不了软件,最终通过该软件才清理干净,方便进一步安装。

2015-02-08

opencv2.4.9opencv_createsamples.exe和opencv_haartraining.exe

这是opencv2.4.9中用于训练人脸检测器的可执行文件opencv_createsamples.exe和opencv_haartraining.exe,它们是用于32位的计算机中的。

2015-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除