opencv资料
迷途中的前进
这个作者很懒,什么都没留下…
展开
-
cvUserdata
/* Passed to callback functions */typedef struct CvUserdata //首先定义结构体{ CvHaarTrainingData* trainingData; CvIntHaarFeatures* haarFeatures;} CvUserdata;CV_INLINECvUserdata cvUserdata( Cv原创 2015-06-25 21:12:58 · 695 阅读 · 0 评论 -
CvIntHaarClassifier
//定义一个宏,宏里面是指针函数#define CV_INT_HAAR_CLASSIFIER_FIELDS() \ float (*eval)( CvIntHaarClassifier*, sum_type*, sum_type*, float ); \ //计算分类器haar特征值 void (*sav原创 2015-07-07 10:32:46 · 995 阅读 · 0 评论 -
CvUserdata
本博opencv源码来自_cvhaartraining.cpp文件,详细请参考opencv源码。/* Passed to callback functions *///结构体的定义 typedef struct CvUserdata{ CvHaarTrainingData* trainingData; CvIntHaarFeatures* haarFeat原创 2015-07-13 21:58:27 · 692 阅读 · 0 评论 -
icvPrecalculate
/* *icvPrecalculate *作用:计算特征值,并排序 *具体来说也就是根据训练样本信息和haar特征信息,在函数内部引用icvGetTrainingDataCallback来 *分批计算正负样本的前numprecalated个haar特征值,并把计算好的特征值进行排序,最后结果存储在data->valcache之中 */staticvoid icvPrecalculat原创 2015-07-14 14:11:27 · 1009 阅读 · 0 评论 -
CvStumpClassifier,CvCARTClassifier和CvCARTHaarClassifier
CvStumpClassifier,CvCARTClassifier和CvCARTHaarClassifier的区别从复杂程度来看:CvStumpClassifier<CvCARTClassifier<CvCARTHaarClassifier从能代表的范围来看:CvStumpClassifier>CvCARTClassifier>CvCARTHaarClassifier原创 2015-06-16 10:39:59 · 740 阅读 · 0 评论 -
CvTHaarFeature和CvFastHaarFeature以及CvIntHaarFeatures的区别
CvTHaarFeature和CvFastHaarFeature的区别,CvIntHaarFeatures,cvhaartraining。cpp源码分析原创 2015-05-28 16:50:15 · 1900 阅读 · 2 评论 -
openCV中 cvSeq的用法说明
本文转自http://blog.csdn.net/wqvbjhc/article/details/5497017。openCV中 cvSeq的用法说明函数原型说明CvSeq* cvCreateSeq(int seq_flags,int header_size,int elem_size,CvMemStorage* storage)转载 2015-08-25 11:00:23 · 583 阅读 · 0 评论 -
icvGetAuxImages和cvIntegral
/* * icvGetAuxImages *作用:计算原图像的积分图,旋转积分图,平方积分图和归一化因子 */staticvoid icvGetAuxImages( CvMat* img, //原图像 CvMat* sum, //所求积分图原创 2015-07-20 14:46:18 · 1111 阅读 · 0 评论 -
icvSetWeightsAndClasses
/* *icvSetWeightsAndClasses *作用:给训练样本的权重和类别赋值 */static void icvSetWeightsAndClasses( CvHaarTrainingData* training_data, int num1, float weight1, float cls1,原创 2015-07-21 19:58:48 · 853 阅读 · 0 评论 -
史上最全opencv源码解读,opencv源码详细解读目录
opencv源码主要是基于adaboost算法,进行人脸的haar分类器训练!在我近两个月的研究opencv源码的过程很枯燥,也有很多收获,在我博客中也写了不少文章,比较乱,现在整理一下目录如下,大家可以直接点开链接的。这样一方面可以方便自己查阅,另一方面也是回报csdn方便大家,如有不足请大家多多指出大笑 未完待续,更新中~~~~~~~1 宏(1)ICV_DEF_FIND_STUMP_THRESHOLD_SQ(2)ICV_DEF_FIND_STUMP_THRESHOLD(3)C原创 2015-07-08 09:18:59 · 18657 阅读 · 1 评论 -
opencv:提取样本的两种方式
1 利用icvGetIdxAt直接从矩阵中提取for( j = 0; j < numtrimmed; j++ ) { // 获取训练样本 idx = icvGetIdxAt( trimmedIdx, j ); // 对每个训练样本计算原创 2015-09-09 09:38:23 · 1587 阅读 · 0 评论 -
opencv:程序运行完保持dos窗口不关闭
在训练完人脸检测分类器后,需要查看程序运行时间,这就需要在vs中保持dos运行窗口不关闭。(1)在main函数最后加上 system("pause"); (2)利用cvWaitKey()函数;(3)利用getchar()。我在我的小程序中用的是system(“pause”);这个函数最好使。原创 2015-10-26 14:22:25 · 2839 阅读 · 0 评论 -
opencv:计算程序运行时间
//注意添加头文件#include using namespace std; double t = (double)cvGetTickCount();//。。。。。。算法或程序代码t = (double)cvGetTickCount() - t;printf( "exec time = %gms\n", t/(cvGetTickFrequency()*1000) );原创 2015-10-26 09:35:18 · 2212 阅读 · 0 评论 -
opencv:求一幅图片的LBP纹理图(c++版本)
感觉还是使用c++版本opencv更加方便,LBP是描述的图片的局部特征,即纹理特征,有关公式和理论网上有很多我就不再重复,直接上代码。/* * */#include "opencv2/opencv.hpp" using namespace cv ;using namespace std ;Mat LBP(Mat src_image){ bool affiche=t原创 2016-05-25 13:47:39 · 2925 阅读 · 0 评论 -
opencv:使用高斯混合模型(GMM)源码对视频进行背景差分法
非常感谢thefutureisour对opencv中c++版本的高斯混合模型的源代码完全注释,网上直接使用opencv源码编程的比较少,但是要想自己对高斯混合模型进行优化,或者要想在论文中对高斯混合模型有所创新,必须使用opencv源码来进行编程,而不仅仅是使用opencv的源码接口调用一下修改一下参数。自己废了些脑子提供给网友交流一把,1、 my_background_segm.hp原创 2016-05-17 22:03:34 · 10145 阅读 · 1 评论 -
CvBoostType
/* * CvBoostType * * 结构体CvBoostType 穷举boosting 类型 * * 注: * 共有四种boosting变量,这些变量都支持两分类分类器,分别如下: * Discrete AdaBoost, Real AdaBoost, LogitBoost and Gentle AdaBoost. * L2 (两类分类器) and LK (K 类分类器)算法更接近LogitBoost,但是在数值上比 Gentle AdaBoost更稳定 * 对于回翻译 2015-07-06 15:22:16 · 875 阅读 · 0 评论 -
icvGetIdxAt( CvMat* idx, int pos )
/* returns index at specified position from index matrix of any type. if matrix is NULL, then specified position is returned */CV_INLINEint icvGetIdxAt( CvMat* idx, int pos );/* *icvGetIdxAt原创 2015-07-06 10:20:31 · 780 阅读 · 0 评论 -
opencv源码分析之二:cvhaartraining.cpp
我使用的是opencv2.4.9,安装后,我的cvboost..cpp文件的路径是........\opencv\sources\apps\haartraining\cvhaartraining.cpp,研究源码那么多天,有很多收获,opencv库真是非常强大。其中在这篇博文中我有部分注释,其他的有关知识请参考我博客http://blog.csdn.net/ding977921830?viewmo原创 2015-07-13 10:14:51 · 2532 阅读 · 1 评论 -
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 · 10845 阅读 · 0 评论 -
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 · 1514 阅读 · 0 评论 -
CvHaarTrainingData和CvBackgroundData的区别
CvHaarTrainingData所包含内容比较齐全,而且是既包含正样本,也包含负样本;CvBackgroundData显然是针对负样本的。原创 2015-06-02 15:51:42 · 1046 阅读 · 0 评论 -
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 · 938 阅读 · 0 评论 -
opencv批量输入图片缩放后保存到文件夹里面
在网上查了很多资料,但是效果不太理想,索性在别人的基础上自己在整理一下,终于可以了!很嗨皮,为了方面大家学习,我把自己的成果贴出来,让大家少走一点弯路吧。 //#include "stdafx.h" #include #include #include #include #include #define N 4原创 2015-02-06 15:16:05 · 3233 阅读 · 2 评论 -
icvInitCARTHaarClassifier
icvInitCARTHaarClassifier *初始化分类回归树haar分类器函数 *作用:把括号里的参数进行传递,也就是把后两个参数都传递给第一个参数 *具体来说就是,首先把intHaarFeatures 的特征按照cart中compidx[i]的顺序传递给carthaar(包括haar特征和快速haar特征); *然后,再把cart中的参数传递给carthaar。原创 2015-06-26 14:42:02 · 754 阅读 · 0 评论 -
icvConvertToFastHaarFeature
在cvhaartraining.cpp中icvConvertToFastHaarFeature源码的解读原创 2015-05-28 21:43:19 · 752 阅读 · 0 评论 -
icvCreateHaarTrainingData和icvCreateBackgroundData
对于结构体c++语言来说,结构体要先定义再使用,如上文CvHaarTrainingData和CvBackgroundData(http://blog.csdn.net/ding977921830/article/details/46330879);对于训练样本来说,要把训练样本(图片)转化为计算机能识别的.vec文件;对于训练过程来说,要使用训练样本的数据,要先为训练样本的内容分配内存,这就是下面谈到的icvCreateHaarTrainingData和icvCreateBackgroundData。原创 2015-06-02 16:43:07 · 878 阅读 · 0 评论 -
CvSplit
/* possible split in the tree */typedef struct CvSplit{ CvTreeCascadeNode* parent; CvTreeCascadeNode* single_cluster; CvTreeCascadeNode* multiple_clusters; int num_clusters; floa原创 2015-07-02 09:37:44 · 1140 阅读 · 0 评论 -
CV_MAT2VEC( mat, vdata, vstep, num )
/* Convert matrix to vector *///作用:定义一个带参数的宏,将矩阵转化为向量//具体来说就是将矩阵mat的数据内容传递给vdata,矩阵的类型传递给vstep,矩阵的行或列传递给num#define CV_MAT2VEC( mat, vdata, vstep, num ) \ assert( (mat).rows == 1 || (ma原创 2015-07-06 10:46:24 · 1070 阅读 · 0 评论 -
有关cascade的结构体
/* internal cascade classifier */typedef struct CvCascadeHaarClassifier{ CV_INT_HAAR_CLASSIFIER_FIELDS() int count; CvIntHaarClassifier** classifier;} CvCascadeHaarClassifier;/* int原创 2015-07-02 15:02:00 · 1400 阅读 · 0 评论 -
cvReadTrainData
cvReadTrainData的源码在opencv的cvboost.cpp文件之中,具体内容如下所示:CV_BOOST_IMPLvoid cvReadTrainData( const char* filename, int flags, CvMat** trainData,原创 2015-07-10 16:02:18 · 929 阅读 · 0 评论 -
opencv源码之一:cvboost.cpp
我使用的是opencv2.4.9,安装后,我的cvboost..cpp文件的路径是........\opencv\sources\apps\haartraining\cvboost.cpp,研究源码那么多天,有很多收获,opencv库真是非常强大。具体内容如下:/*M//////////////////////////////////////////////////////////////原创 2015-07-10 16:08:37 · 2329 阅读 · 1 评论 -
在Ubuntu下使用opencv调用海康威视的网络摄像头
经过很多天的配置,终于能在工程中调用海康威视的网络摄像头了,为了后人能快速上手,我整理内容如下:在本文中我的电脑是使用的Ubuntu16.04 64位,使用工具是QT5.7.1,opencv2.4.9.一、根据电脑的型号下载海康威视的SDK包网址:http://www.hikvision.com/cn/download_61.html。我的笔记本时linux64位的,所以下原创 2017-07-18 10:13:39 · 18525 阅读 · 10 评论