随笔分类 - OpenCV
摘要:在前两篇文章中,我介绍了《训练自己的haar-like特征分类器并识别物体》的前三个步骤:1.准备训练样本图片,包括正例及反例样本2.生成样本描述文件3.训练样本4.目标识别==============本文将着重说明最后一个阶段——目标识别,也即利用前面训练出来的分类器文件(.xml文件)对图片中的...
阅读全文
摘要:在上一篇文章中,我介绍了《训练自己的haar-like特征分类器并识别物体》的前两个步骤:1.准备训练样本图片,包括正例及反例样本2.生成样本描述文件3.训练样本4.目标识别=================今天我们将着重学习第3步:基于haar特征的adaboost级联分类器的训练。若将本步骤看做...
阅读全文
摘要:本系列文章旨在学习如何在opencv中基于haar-like特征训练自己的分类器,并且用该分类器用于模式识别。该过程大致可以分为一下几个大步骤:1.准备训练样本图片,包括正例及反例样本2.生成样本描述文件3.训练样本4.目标识别=================本文主要对步骤1、步骤2进行说明。1....
阅读全文
摘要:众所周知,opencv下有自带的供人脸识别以及行人检测的分类器,也就是说已经有现成的xml文件供你用。如果我们不做人脸识别或者行人检测,而是想做点其他的目标检测该怎么做呢?答案自然是自己训练一个特定的训练器。opencv里面比较常用的分类器有svm以及级联分类器,svm的训练以及分类很简单,这里不再赘述,这里谈谈级联分类器的训练。级联分类器可是好东西,opencv已经封装了多尺度检测方法(multiScaleDetector)以及绘制外接矩形的方法,这两个方法为目标检测提供了非常大的便利性。以下是本系列教程的总体流程:1.训练前的准备:opencv_createsamples.exe和 ope
阅读全文
摘要:Opencv中cvCopy()和cvCloneImage()的区别:1 cvCopy的原型是:void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );在使用这个函数之前,你必须用cvCreateImage()一类的函数先开一段内存,然后传递给dst。cvCopy会把src中的数据复制到dst的内存中。2 cvCloneImage的原型是:IplImage* cvCloneImage( const IplImage* image );在使用函数之前,不用开辟内存。该函数会自己开一段内存,然后复制好image里面的数据
阅读全文
摘要:1 #include <opencv2/core/core.hpp> 2 #include <opencv2/highgui/highgui.hpp> 3 #include <opencv2/imgproc/imgproc.hpp> 4 #include <iostream> 5 6 using namespace std; 7 using namespace cv; 8 9 int main() 10 { 11 //打开视频文件:其实就是建立一个VideoCapture结构 12 VideoCapture capture("D:/vi
阅读全文
摘要:直方图(Histogram)又称柱状图、质量分布图,是一种统计报告图。直方图由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。在图像处理上,直方图是图像信息统计的有力工具。 灰度直方图是指对图像的灰度信息进行统计,我们知道灰度图在图像处理中应用非常广泛,在前面的《OpenCV第三篇Canny边缘检测》、《OpenCV第五篇轮廓检测上》、《OpenCV第六篇轮廓检测下》均能找到灰度图的用武之地。因此灰度直方图具有较高的实用价值。下面先介绍灰度直方图的几个主要函数。一.cvCreateHist函数功能:创建直方图函数原型:CVAPI(CvHistogra
阅读全文
摘要:安装所需要的软件下载OpenCV从本站下载栏目http://www.opencv.org.cn/index.php/Download下载 OpenCV for Windows(也即 OpenCV-2.4.3.exe 文件)。将 OpenCV-2.4.3.exe 解压并放到某个目录下,例如D:\OpenCV。解压后的目录结构如下图。点击看大图[编辑]配置VC[编辑]配置include路径也即告诉VC去什么地方寻找OpenCV的头文件。打开VC++ 2010 Express,创建一个Win32控制台程序opencvtest;点击看大图选择Solution Explorer里的opencvtest项
阅读全文