这是opencv中的一个源程序,基于级联的Hear分类器的
检测效果图:
如果是很多人的话,检测的就不是特别好,会漏检,误检
稍微修改注释后的源代码:
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include <float.h>
#include <limits.h>
#include <time.h>
#include <ctype.h>
static CvMemStorage* storage = 0;
static CvHaarClassifierCascade* cascade = 0;
static CvHaarClassifierCascade* nested_cascade = 0;
int use_nested_cascade = 0;
void detect_and_draw( IplImage* image );
const char* cascade_name =
"haarcascade_frontalface_alt.xml";
const char* nested_cascade_name =
"haarcascade_eye_tree_eyeglasses.xml";
double scale = 1;
int main( int argc, char** argv )
{
CvCapture* capture = 0;
IplImage *frame, *frame_copy = 0;
IplImage *image = 0;
const char* scale_opt = "--scale=";
int scale_opt_len = (int)strlen(scale_opt);
const char* cascade_opt = "--cascade=";