人脸识别程序源代码_第1页
人脸识别程序源代码_第2页
人脸识别程序源代码_第3页
人脸识别程序源代码_第4页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.禾U用OpenCV进行人脸检测人脸检测程序主要完成3部分功能,即加载分类器、加载待检测图象以及检测并标示。本程序使用OpenCV中提供的 文件存储的目标检测分类,用cvLoad函数载入后,进行强制类型转换。OpenCV中提供的用于检测图像中目标的函数是cvHaarDetectObjects ,该函数使用指针对某目标物体 (如人脸)训练的级联分类器在图象中找到包含目标物体的矩形区 域,并将这些区域作为一序列的矩形框返回。分类器在使用后需要被显式释放,所用的函数为cvReleaseHaarClassifierCascade。这些函数原型请参看有关OpenCV手册。2 程序实现1) 新建一个 V

2、isual C+ MFC项目,取名为“FaceDetection ”选择应用程序类型为 单 文档”。将菜单中多余的项去掉,并添加一项人脸检测”,其ID为“ID_FaceDetected ”,并生 成该菜单项的消息映射函数。2) 在 头文件中添加以下灰底色部分程序代码:pg)|*.jpg|(*.bmp)|*.bmp|", NULL);/从文件对话窗口中打开图像if()!=IDOK)二return;/获得文件名fileName =();/必要的类型转换std:stringtempName = (LPCSTR)CStringA(fileName);const char* tmp =();/

3、打开文件,若失败则返回if( (src = cvLoadImage(tmp,CV LOAD IMAGE ANYCOLOR)= 0 ) return;/加载(分类器层叠)训练库cascade = (CvHaarClassifierCascade*)cvLoad(cascade name,0, 0, 0 );/加载不成功则显示错误讯息,并退岀if(cascade)storage = cvCreateMemStorage(O);cvNamedWindow("人脸检测", CV_WINDOW_AUTOSIZE); / 创建窗口/如果图片存在则分析并显示结果,否则退出程序if(src

4、) detect_and_draw(src);/调用人脸检与标示事件cvReleaseImage(&src);cvReleaseMemStorage( &storage );else&, nbsp;AfxMessageBox(L"无法加载分类器,请确认后重试!");1门cvReleaseHaarClassifierCascade(&cascade );void CFaceDetectionView:detect and draw(IplImage*img)/ 人脸检与标示事件static CvScalar color = 0,0,255;/用

5、于设置标示图像中人脸的颜色double scale =IplImage* gray = cvCreatelmage( cvSize(img->width,img->height),8, 1 );Ipllmage* small_img = cvCreatelmage( cvSize( cvRound (img->width/scale).cvRound (img->height/scale),8,1);int i;cvCvtColor( img, gray, CV BGR2GRAY );cvResize( gray, small img,CV INTER LINEAR )

6、;cvEqualizeHist( small_img, small_img );cvClearMemStorage( storage );if( cascade )/检测人脸CvSeq* faces = cvHaarDetectObjects(small_img, cascade, storage, ,2, 0, cvSize(30,30);for( i = 0; i < (faces ? faces->total: 0);i+)CvRect* r = (CvRect*)cvGetSeqElem(faces, i );CvPoint center;int radius;cvCircle( img, center, radius, color0, 3, 8, 0 );cvShowImage("人脸检测", img );cvReleaseImage( &gray );cvReleaseImage(&small img);如果运行的是生成的 E需要注意的是,本程序运行时应将分类器文件置于程序目录下,XE文件,则应将分类器文件与该EXE文件放在同一个目录下。三、程序运行结果运行该程序,选择人脸检测菜单项,弹出文件打开对话框,选择要检测的图像文件,程序就会将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论