face识别 opencv程序

上传人:第*** 文档编号:30972639 上传时间:2018-02-03 格式:DOC 页数:7 大小:40KB
返回 下载 相关 举报
face识别 opencv程序_第1页
第1页 / 共7页
face识别 opencv程序_第2页
第2页 / 共7页
face识别 opencv程序_第3页
第3页 / 共7页
face识别 opencv程序_第4页
第4页 / 共7页
face识别 opencv程序_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《face识别 opencv程序》由会员分享,可在线阅读,更多相关《face识别 opencv程序(7页珍藏版)》请在金锄头文库上搜索。

1、#include opencv2/objdetect/objdetect.hpp#include opencv2/highgui/highgui.hpp#include opencv2/imgproc/imgproc.hpp#include #include #include #include using namespace std;using namespace cv;static void help()cout this is the primary trained classifier such as frontal facen -nested-cascade=nested_cascad

2、e_path this an optional secondary classifier such as eyesn -scale=n -try-flipn filename|camera_indexnnsee facedetect.cmd for one call:n./facedetect -cascade=././data/haarcascades/haarcascade_frontalface_alt.xml -nested-cascade=././data/haarcascades/haarcascade_eye.xml -scale=1.3nnDuring execution:nt

3、Hit any key to quit.ntUsing OpenCV version origin = IPL_ORIGIN_TL )frame.copyTo( frameCopy );elseflip( frame, frameCopy, 0 );detectAndDraw( frameCopy, cascade, nestedCascade, scale, tryflip );if( waitKey( 10 ) = 0 )goto _cleanup_;waitKey(0);_cleanup_:cvReleaseCapture( elsecout 0 & isspace(buflen-1)

4、)len-;buflen = 0;cout faces, faces2;const static Scalar colors = CV_RGB(0,0,255),CV_RGB(0,128,255),CV_RGB(0,255,255),CV_RGB(0,255,0),CV_RGB(255,128,0),CV_RGB(255,255,0),CV_RGB(255,0,0),CV_RGB(255,0,255) ;Mat gray, smallImg( cvRound (img.rows/scale), cvRound(img.cols/scale), CV_8UC1 );cvtColor( img,

5、gray, CV_BGR2GRAY );resize( gray, smallImg, smallImg.size(), 0, 0, INTER_LINEAR );equalizeHist( smallImg, smallImg );t = (double)cvGetTickCount(); cascade.detectMultiScale( smallImg, faces,1.1, 2, 0/|CV_HAAR_FIND_BIGGEST_OBJECT/|CV_HAAR_DO_ROUGH_SEARCH|CV_HAAR_SCALE_IMAGE,Size(30, 30) );if( tryflip

6、)flip(smallImg, smallImg, 1);cascade.detectMultiScale( smallImg, faces2,1.1, 2, 0/|CV_HAAR_FIND_BIGGEST_OBJECT/|CV_HAAR_DO_ROUGH_SEARCH|CV_HAAR_SCALE_IMAGE,Size(30, 30) );for( vector:const_iterator r = faces2.begin(); r != faces2.end(); r+ )faces.push_back(Rect(smallImg.cols - r-x - r-width, r-y, r-

7、width, r-height);t = (double)cvGetTickCount() - t;printf( detection time = %g msn, t/(double)cvGetTickFrequency()*1000.) );for( vector:const_iterator r = faces.begin(); r != faces.end(); r+, i+ )Mat smallImgROI;vector nestedObjects;Point center;Scalar color = colorsi%8;int radius;double aspect_ratio

8、 = (double)r-width/r-height;if( 0.75 x + r-width*0.5)*scale);center.y = cvRound(r-y + r-height*0.5)*scale);radius = cvRound(r-width + r-height)*0.25*scale);circle( img, center, radius, color, 3, 8, 0 );elserectangle( img, cvPoint(cvRound(r-x*scale), cvRound(r-y*scale),cvPoint(cvRound(r-x + r-width-1

9、)*scale), cvRound(r-y + r-height-1)*scale), color, 3, 8, 0);if( nestedCascade.empty() )continue;smallImgROI = smallImg(*r);nestedCascade.detectMultiScale( smallImgROI, nestedObjects,1.1, 2, 0/|CV_HAAR_FIND_BIGGEST_OBJECT/|CV_HAAR_DO_ROUGH_SEARCH/|CV_HAAR_DO_CANNY_PRUNING|CV_HAAR_SCALE_IMAGE,Size(30,

10、 30) );for( vector:const_iterator nr = nestedObjects.begin(); nr != nestedObjects.end(); nr+ )center.x = cvRound(r-x + nr-x + nr-width*0.5)*scale);center.y = cvRound(r-y + nr-y + nr-height*0.5)*scale);radius = cvRound(nr-width + nr-height)*0.25*scale);circle( img, center, radius, color, 3, 8, 0 );cv:imshow( result, img );

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号