资源描述:
《基于opencv的人脸检测程序源代码(可运行)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.打开MicrosoftVisualStudio2008,新建一个Win32控制台项目;2.配置好项目的包含文件和库文件;3.将……OpenCVdatahaarcascades中的haarcascade_frontalface_alt.xml拷贝到所建项目的文件夹中;4.然后添加代码:#include"stdafx.h"#include#includeIplImage*image;IplImage*copyimage;staticCvHaarClassifierCascade*cascad
2、e=0;staticCvMemStorage*storage=0;constchar*cascade_name="haarcascade_frontalface_alt2.xml";//先要将次文件从OpenCVdatahaarcascades文件夹中拷贝到项目文件夹中voiddetect_and_draw(IplImage*img);//函数声明int_tmain(intargc,_TCHAR*argv[]){cascade=(CvHaarClassifierCascade*)cvLoad(cascade_name,0,0,
3、0);//加载人脸检测所用的分类器if(!cascade){fprintf(stderr,"ERROR:Couldnotloadclassifiercascade");return-1;}storage=cvCreateMemStorage(0);//动态存储结构,用来存储人脸在图像中的位置image=cvLoadImage("F:\TestImages\faceScene.bmp");if(!image)return-1;cvNamedWindow("OriginalImage",1);cvShowImage("Orig
4、inalImage",image);detect_and_draw(image);//对加载的图像进行检测cvWaitKey();image=NULL;//如image是用cvCreateImage()创建的,那么用cvReleaseImage()释放;若不是"创建"的,就不能“释放”cvDestroyWindow("Original");cvDestroyWindow("result");otherstaffoftheCentre.Duringthewar,ZhuwastransferredbacktoJiangxi,andDi
5、rectorofthenewOfficeinJingdezhen,JiangxiCommitteeSecretary.Startingin1939servedasrecorderoftheWestNorthOrganization,SecretaryoftheSpecialCommitteeAfterthevictoryofthelongMarch,hehasbeentheNorthwestOfficeoftheFederationofStateenterprisesMinister,ShenmufuguSARmissions,D
6、irectorofNingxiaCountypartyCommitteeSecretaryandrecorderoftheCountypartyCommitteeSecretary,Ministersandreturn0;}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,
7、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
8、(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=(CvRec