
OpenCV源码解析
西电之梦
这个作者很懒,什么都没留下…
展开
-
cvKMeans2均值聚类分析+代码解析+灰度彩色图像聚类
1 K-均值聚类算法的基本思想 K-均值聚类算法是著名的划分聚类分割方法。划分方法的基本思想是:给定一个有N个元组或者纪录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,KK-means算法的工作原理:算法首先随机从数据集中选取 K个点作为初始聚类中心,然后计算各个样本到聚类中心的距离,把样本归到离它最近的那个聚类中心所在的类。计算新形成的每一个聚类的数据对象的平均值来得到原创 2013-08-27 14:31:45 · 11393 阅读 · 3 评论 -
OpenCV原理解读之HAAR+Adaboost
OpenCV中HAAR+Adaboost旧分类器检测过程学习,里面尤其提到了函数调用中flag的说明,大家互相交流学习。原创 2014-10-14 21:46:28 · 30685 阅读 · 3 评论 -
LBP等价模式之ULBP的计算程序
// 计算bool ulbpIndex(vector &uniform_lbp) { uniform_lbp.clear(); for (int i = 0; i { int data = i; int dataTmp1 = data, dataTmp2 = data;原创 2014-10-27 13:29:43 · 5887 阅读 · 1 评论 -
比较Opencv自带的eye检测器
CascadeClassifier *lbpcascade_frontalface = new CascadeClassifier("./xml/lbpcascade_frontalface.xml");CascadeClassifier *haarcascade_eye = new CascadeClassifier("./xml/haarcascade_eye.xml");Cascad原创 2014-02-20 13:28:52 · 15761 阅读 · 0 评论 -
访问IplImage数据时的注意事项
IplImage *pImg;当直接访问pImg并将其转换为int型的时候,原本为255的数据,此时以其补码的形式给出结果,也就是-1。int val = pImg->imageData[h * widthStep + w];当使用uchar类型的指针指向pImg中的数据的时候,再通过此指针访问数据时得到的结果为255uchar *data = pImg->imageData;原创 2013-09-12 19:02:22 · 2849 阅读 · 0 评论 -
opencv中HOGDescriptor中计算特征的个数
1 创建HOG描述子HOGDescriptor *descriptor=new HOGDescriptor(cvSize(40,80),//winSizecvSize(10,20),//blockSizecvSize(5,10),//blockStridecvSize(5,5),//cellSize9);//nbins每个window中block的个数为(winSize -原创 2014-01-27 14:39:34 · 6065 阅读 · 1 评论 -
OpenCV中CascadeClassifier类实现多尺度检测源码解析
opencv中目标检测函数CascadeClassifier类别解读原创 2014-12-10 20:47:53 · 26985 阅读 · 2 评论 -
比较Opencv自带的frontface检测器
CascadeClassifier*haarcascade_frontalface_alt = new CascadeClassifier("./xml/haarcascade_frontalface_alt.xml");CascadeClassifier*haarcascade_frontalface_alt_tree = new CascadeClassifier("./xml/haarc原创 2014-02-20 11:29:44 · 24261 阅读 · 1 评论 -
OpenCV双线性缩放函数实现
实现OpenCV的双线性插值函数,分享给大家共同学习。特别注意以下几点:1、取整运算直接使用int强制转换时截断取整,加上一个0.5矫正系数变为四舍五入取整2、分段移位猜测是因为cbufy[0] 为short类型,必须将dx右移4位也变成short类型进行乘积(dx为8+11=19位)3、浮点精度使用定点运算时将加权系数精度调节到11位。置于为什么不能使用更高的精度我觉得是因为两个11+8=30位,马上就达到int顶满了。原创 2015-12-07 14:13:19 · 2325 阅读 · 0 评论 -
OpenCV中LU分解实现矩阵求逆invert(DECOMP_LU)
理解OpenCV中LU分解法求解逆矩阵原创 2016-04-29 20:52:53 · 9371 阅读 · 2 评论 -
OpenCV中Adaboost训练的经验总结
关于使用OpenCV训练Adaboost的经验总结,互相交流,有不对的地方请指教!原创 2014-12-25 16:21:17 · 22613 阅读 · 8 评论 -
OpenCV中CvSVM部分函数解读
OpenCV中CvSVM部分函数解读,帮助理解程序调用中参数设置。原创 2014-12-17 11:50:31 · 16288 阅读 · 2 评论 -
cvMorphology形态学原理解析及源码分析
目录⑴ 图像形态学处理的概念...1⑵ 二值图像的逻辑运算...3⑶ 膨胀和腐蚀...4(4) 高级形态学变换...8(5) 细化...10 ⑴ 图像形态学处理的概念数字图像处理中的形态学处理是指将数字形态学作为工具从图像中提取对于表达和描绘区域形状有用处的图像分量,比如边界、骨架以及凸壳,还包括用于预处理或后处理的形态学过滤、细化和修剪等。图像原创 2013-08-28 13:40:03 · 9643 阅读 · 2 评论 -
采用opencv_cascadetrain进行训练的步骤及注意事项
OpenCV中有两个程序可以训练级联分类器: opencv_haartraining 和opencv_traincascade。opencv_traincascade 是一个新程序,使用OpenCV 2.x API 以C++ 编写。这二者主要的区别是 opencv_traincascade 支持 Haar、Hog和 LBP(Local Binary Patterns) 三种特征,并易于增加其他的特原创 2013-08-28 20:08:39 · 50260 阅读 · 32 评论 -
CvReleaseImage导致程序出错
今天在写程序的时候,遇到CvReleaseImage问题,原因是我想让pWork作为类的共用IplImage指针,但是可能在中间的过程中释放掉了,在类的析构函数的时候继续释放就出现崩溃,因此在不确定到底是不是指针是否指向内存,可以简单将其置为NULL即可。但是这个会不会带来内存泄露有待研究原创 2013-09-05 20:00:05 · 1355 阅读 · 0 评论 -
IplImage中的widthStep大小计算及原理
一直以为IplImage结构体中的widthStep元素大小等于width*nChannels,大错特错!查看OpenCV2.1的源码,在src/cxcore/cxarray.cpp文件中,找到cvInitImageHeader函数,函数中对widthStep大小赋值如下:image->widthStep = (((image->width * image->nChannels *转载 2013-11-20 15:35:32 · 18691 阅读 · 2 评论 -
LBP原理加源码解析
没有看LBP之前觉得它很神秘,看完了之后也就那么回事,不过提出LBP的人确实很伟大!! LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取。而且,提取的特征是图像的局部的纹理特原创 2014-02-21 18:45:45 · 65928 阅读 · 30 评论 -
cvRound cvFloor cvCeil
函数 cvRound, cvFloor, cvCeil 用一种舍入方法将输入浮点数转换成整数。 cvRound 返回和参数最接近的整数值。 cvFloor 返回不大于参数的最大整数值。cvCeil 返回不小于参数的最小整数值。在某些体系结构中该函数 工作起来比标准 C 操作起来还要快。 注意下面的编程技巧:typedef union Cv32suf{ int转载 2014-02-11 16:20:43 · 4500 阅读 · 0 评论 -
OpenCV函数解读之groupRectangles
不管新版本的CascadeClassifier,还是老版本的HAAR检测函数cvHaarDetectObjects,都使用了groupRectangles函数进行窗口的组合,其函数原型有以下几个:CV_EXPORTS void groupRectangles(CV_OUT CV_IN_OUT vector& rectList, int groupThreshold, double eps=0.原创 2014-10-15 10:43:55 · 12714 阅读 · 0 评论 -
CascadeClassifier中MaskGenerator的含义与用法
使用HOGDescirptor可以实现ROI区域的检测,但是使用CascadeClassifier不能使用ROI检测,查看CascadeClassifier的类定义可以看到这样一个子类public: class CV_EXPORTS MaskGenerator { public: virtual ~MaskGenerator() {}原创 2014-11-26 17:04:24 · 4231 阅读 · 0 评论 -
OpenCV的HOG+SVM训练程序注意事项
使用OpenCV进行分类训练的时候,注意(1)必须使用线性核函数,HOGDescriptor只支持线性核函数检测(2)保存文件的时候注意要将alpha*supportvector的负数形式原创 2014-12-04 16:36:53 · 16602 阅读 · 3 评论 -
OpenCV中LU分解实现矩阵求逆invert(DECOMP_LU)-定点化
基于LU分解的矩阵求逆定点化版本,由于需要频繁移位,因此定点比浮点还耗时原创 2016-05-05 18:19:37 · 3510 阅读 · 1 评论