1.打开MicrosoftVisualStudio2008,新建一个Win32控制台项目;2.配置好项目的包含文件和库文件;3.将……\OpenCV\data\haarcascades中的haarcascade_frontalface_alt.xml拷贝到所建项目的文件夹中;4.然后添加代码:#includestdafx.h#includecv.h#includehighgui.hIplImage*image;IplImage*copyimage;staticCvHaarClassifierCascade*cascade=0;staticCvMemStorage*storage=0;constchar*cascade_name=haarcascade_frontalface_alt2.xml;//先要将次文件从OpenCV\data\haarcascades文件夹中拷贝到项目文件夹中voiddetect_and_draw(IplImage*img);//函数声明int_tmain(intargc,_TCHAR*argv[]){cascade=(CvHaarClassifierCascade*)cvLoad(cascade_name,0,0,0);//加载人脸检测所用的分类器if(!cascade){fprintf(stderr,ERROR:Couldnotloadclassifiercascade\n);return-1;}storage=cvCreateMemStorage(0);//动态存储结构,用来存储人脸在图像中的位置image=cvLoadImage(F:\\TestImages\\faceScene.bmp);if(!image)return-1;cvNamedWindow(OriginalImage,1);cvShowImage(OriginalImage,image);detect_and_draw(image);//对加载的图像进行检测cvWaitKey();image=NULL;//如image是用cvCreateImage()创建的,那么用cvReleaseImage()释放;若不是创建的,就不能“释放”cvDestroyWindow(Original);cvDestroyWindow(result);return0;}voiddetect_and_draw(IplImage*img){staticCvScalarcolors[]={{{0,0,255}},{{0,128,255}},{{0,255,255}},{{0,255,0}},{{255,128,0}},{{255,255,0}},{{255,0,0}},{{255,0,255}}};doublescale=1.3;copyimage=img;IplImage*gray=cvCreateImage(cvSize(copyimage-width,copyimage-height),8,1);cvCvtColor(copyimage,gray,CV_BGR2GRAY);cvClearMemStorage(storage);if(cascade){/*函数cvHaarDetectObjects检测图像中的目标,由OpenCV提供。*/CvSeq*faces=cvHaarDetectObjects(gray,cascade,storage,1.1,2,CV_HAAR_DO_CANNY_PRUNING,cvSize(20,20));for(inti=0;i(faces?faces-total:0);i++){CvRect*r=(CvRect*)cvGetSeqElem(faces,i);cvRectangle(copyimage,cvPoint(r-x,r-y),cvPoint(r-x+r-width,r-y+r-height),CV_RGB(255,0,0),3);}}cvNamedWindow(result,1);cvShowImage(result,copyimage);copyimage=NULL;cvReleaseImage(&gray);}5.实验结果