#ifdef_EiC#defineWIN32#endifstaticCvMemStorage*storage=0;staticCvHaarC"> #ifdef_EiC#defineWIN32#endifstaticCvMemStorage*storage=0;staticCvHaarC" />
基于OPENCV的人脸识别程序-代码详解

基于OPENCV的人脸识别程序-代码详解

ID:40195201

大小:145.87 KB

页数:15页

时间:2019-07-25

基于OPENCV的人脸识别程序-代码详解_第1页
基于OPENCV的人脸识别程序-代码详解_第2页
基于OPENCV的人脸识别程序-代码详解_第3页
基于OPENCV的人脸识别程序-代码详解_第4页
基于OPENCV的人脸识别程序-代码详解_第5页
资源描述:

《基于OPENCV的人脸识别程序-代码详解》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、#include"cv.h"#include"highgui.h"#include#ifdef_EiC#defineWIN32#endifstaticCvMemStorage*storage=0;staticCvHaarClassifierCascade*cascade=0;voiddetect_and_draw(IplImage*image);constchar*cascade_name="haarcascade_frontalface_alt.xml";//人脸检测分类器intmain(intargc,char*

2、*argv){CvCapture*capture=0;IplImage*frame,*frame_copy=0;intoptlen=strlen("--cascade=");constchar*input_name;if(argc>1&&strncmp(argv[1],"--cascade=",optlen)==0){cascade_name=argv[1]+optlen;input_name=argc>2?argv[2]:0;}else{cascade_name="E:毕业设计智能机器人动态人脸识别系统陈建州程序.xml";/

3、/分类器路径input_name=argc>1?argv[1]:0;}cascade=(CvHaarClassifierCascade*)cvLoad(cascade_name,0,0,0);if(!cascade)//如果没有找到分类器,输出以下{fprintf(stderr,"ERROR:Couldnotloadclassifiercascade");fprintf(stderr,"Usage:facedetect--cascade=""[filename

4、camera_index]");r

5、eturn-1;}storage=cvCreateMemStorage(0);capture=cvCaptureFromCAM(!input_name?0:input_name[0]-'0');//读取摄像头if(!capture)//如果没有摄像头读取视频文件capture=cvCaptureFromAVI("检测.avi");cvNamedWindow("result",1);//创建窗口if(capture){for(;;){if(!cvGrabFrame(capture))//从摄像头中抓取帧break;frame=cvRet

6、rieveFrame(capture);//读取上边抓取的帧if(!frame)break;if(!frame_copy)frame_copy=cvCreateImage(cvSize(frame->width,frame->height),IPL_DEPTH_8U,frame->nChannels);if(frame->origin==IPL_ORIGIN_TL)cvCopy(frame,frame_copy,0);elsecvFlip(frame,frame_copy,0);detect_and_draw(frame_copy);

7、if(cvWaitKey(10)>=0)break;}cvReleaseImage(&frame_copy);cvReleaseCapture(&capture);}else//没检测到视频文件或者摄像头{constchar*filename=(char*)"检测.jpg";//读图片IplImage*image=cvLoadImage(filename,1);if(image){detect_and_draw(image);cvWaitKey(0);cvReleaseImage(&image);}else{FILE*f=fopen(

8、filename,"rt");if(f){charbuf[1000+1];while(fgets(buf,1000,f)){intlen=(int)strlen(buf);while(len>0&&isspace(buf[len-1]))len--;buf[len]='';image=cvLoadImage(buf,1);if(image){detect_and_draw(image);cvWaitKey(0);cvReleaseImage(&image);}}fclose(f);}}}cvDestroyWindow("resul

9、t");return0;}voiddetect_and_draw(IplImage*img){staticCvScalarcolors[]={{{0,0,255}},{{0,128,255}},{{0,255,255}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。