OpenCV学习之利用级联的haar分类器寻找检测目标
来源:互联网 发布:C语言next_permutation 编辑:程序博客网 时间:2024/05/17 06:37
利用级联的haar分类器寻找检测目标
#include "cv.h"#include "highgui.h" CvHaarClassifierCascade* load_object_detector(const char* cascade_path) { return (CvHaarClassifierCascade*)cvLoad(cascade_path);}void detect_and_draw_objects(IplImage* image,CvHaarClassifierCascade* cascade,int do_pyramids) { IplImage* small_image = image; CvMemStorage* storage = cvCreateMemStorage(0); CvSeq* faces; int i, scale = 1; // 如果操作方式flags被指定,向下测量输入图像以得到性能的提高 if (do_pyramids) { small_image = cvCreateImage(cvSize(image->width / 2, image->height / 2), IPL_DEPTH_8U, 3); cvPyrDown(image, small_image, CV_GAUSSIAN_5x5); scale = 2; } // 使用最快的变量 faces = cvHaarDetectObjects(small_image, cascade, storage, 1.2, 2, CV_HAAR_DO_CANNY_PRUNING); // 绘制所有矩形 for (i = 0; i < faces->total; i++) { CvRect face_rect = *(CvRect*)cvGetSeqElem(faces, i); cvRectangle(image, cvPoint(face_rect.x*scale, face_rect.y*scale), cvPoint((face_rect.x + face_rect.width)*scale, (face_rect.y + face_rect.height)*scale), CV_RGB(255, 0, 0), 3); } if (small_image != image) cvReleaseImage(&small_image); cvReleaseMemStorage(&storage);}int main(int argc, char** argv) { //摄像头 CvCapture *cap = cvCreateCameraCapture(0);//初始化相机捕获的指针 if (!cap) { system("pause"); exit(-1); } IplImage *image = cvQueryFrame(cap); CvHaarClassifierCascade* cascade; //新建窗口 cvNamedWindow("视频监控", CV_WINDOW_AUTOSIZE); while ((image = cvQueryFrame(cap)) != NULL) { //IplImage* image = cvLoadImage("Lena.tif", 1); //加载分类器 cascade = load_object_detector("haarcascade_frontalface_alt.xml");//人脸 //cascade = load_object_detector("haarcascade_eye_tree_eyeglasses.xml");//左眼 detect_and_draw_objects(image, cascade, 1); //显示视频 cvShowImage("视频监控", image); char c = cvWaitKey(10); if (c == 27) break; } cvWaitKey(0); cvReleaseHaarClassifierCascade(&cascade); cvReleaseCapture(&cap); cvReleaseImage(&image); cvDestroyWindow("test"); return 0;}
阅读全文
0 0
- OpenCV学习之利用级联的haar分类器寻找检测目标
- OpenCV:利用级联的haar分类器寻找检测目标
- Opencv目标检测之级联分类器训练与测试
- 利用OpenCV的级联分类器类CascadeClassifier和Haar特征实现人脸区域的检测
- OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect
- OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect
- OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect
- OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect
- OpenCV中基于Haar特征和级联分类器的人脸检测
- 【人脸检测】OpenCV中的Haar+Adaboost级联分类器分解(一):Haar特征介绍
- 程序员的机器学习入门笔记(九):人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
- 使用OpenCV的Haar特征训练身份证级联分类器
- 利用opencv中的级联分类器进行人脸检测-opencv学习(1)
- 浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
- 浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
- 浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
- 浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
- 浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
- 应届毕业生如何通过学习Linux系统选择一份高薪职业
- 各种排序算法的总结
- linux实验楼学习笔记7
- c++/c常量
- Google大数据论文三宝之BigTable
- OpenCV学习之利用级联的haar分类器寻找检测目标
- Sublime Text 3快捷键
- VMware克隆虚拟机后重启network失败
- [bzoj2850]2850: 巧克力王国
- 分布式爬虫学习笔记
- js的静态作用域
- POJ
- B+树算法与Innodb引擎索引
- linux实验楼学习笔记6