資源簡介
使用opencv自帶的haarcascade_eye_tree_eyeglasses.xml分類器實現(xiàn)檢測人眼,并精準地定位了瞳孔的位置。代碼很簡潔,易于理解。

代碼片段和文件信息
#include?“highgui.h“
#include?“cv.h“
#include?
#include?
using?namespace?std;
using?namespace?cv;
void?DetectAndDraw(IplImage*?img?CascadeClassifier&?cascade);
//String?cascadeName?=?“haarcascade_frontalface_alt.xml“;
String?cascadeName?=?“haarcascade_eye_tree_eyeglasses.xml“;//nestedCascadeName
int?main(?)
{
CascadeClassifier?cascade;
cascade.load(?cascadeName?);
cvNamedWindow(?“result“?1?);
IplImage*?iplImg?=?cvLoadImage(“1.jpg“);
DetectAndDraw(?iplImg?cascade?);
cvWaitKey(0);
cvDestroyWindow(“result“);
return?0;
}
void?DetectAndDraw(IplImage*?img?CascadeClassifier&?cascade)
{
int?i?=?0;
double?t?=?0;
vector?faces;
const?static?Scalar?colors[]?=??{?CV_RGB(00255)
CV_RGB(0128255)
CV_RGB(0255255)
CV_RGB(02550)
CV_RGB(2551280)
CV_RGB(2552550)
CV_RGB(25500)
CV_RGB(2550255)}?;
IplImage*?gray?=?cvCreateImage(cvGetSize(img)81);
cvCvtColor(?img?gray?CV_BGR2GRAY?);
cvEqualizeHist(?gray?gray?);
t?=?(double)cvGetTickCount();
cascade.detectMultiScale(?gray??faces
1.1?2?0
//|CV_HAAR_FIND_BIGGEST_object
//|CV_HAAR_DO_ROUGH_SEARCH
|CV_HAAR_SCALE_IMAGE
Size(30?30)?);
t?=?(double)cvGetTickCount()?-?t;
printf(?“detection?time?=?%g?ms\n“?t/((double)cvGetTickFrequency()*1000.)?);
for(?vector::const_iterator?r?=?faces.begin();?r?!=?faces.end();?r++?i++?)
{
Point?center;
Scalar?color?=?colors[i%8];
int?radius;
//center可以作為瞳孔的坐標
center.x?=?cvRound(r->x?+?r->width*0.5);
center.y?=?cvRound(r->y?+?r->height*0.5);
//radius?=?(int)(cvRound(r->width?+?r->height)*0.25);
radius?=2;
cvCircle(?img?center?radius?color?3?8?0?);
cvShowImage(?“result“?img?);
}
cvShowImage(?“result“?img?);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????72704??2014-07-26?13:02??DetectEyes\Debug\DetectEyes.exe
?????文件?????723476??2014-07-26?13:02??DetectEyes\Debug\DetectEyes.ilk
?????文件????1518592??2014-07-26?13:02??DetectEyes\Debug\DetectEyes.pdb
?????文件?????163712??2014-07-25?14:59??DetectEyes\DetectEyes\1.jpg
?????文件???????8194??2014-07-26?13:02??DetectEyes\DetectEyes\Debug\BuildLog.htm
?????文件????????663??2014-07-25?20:19??DetectEyes\DetectEyes\Debug\DetectEyes.exe.em
?????文件????????728??2014-07-25?20:19??DetectEyes\DetectEyes\Debug\DetectEyes.exe.em
?????文件????????621??2014-07-26?13:02??DetectEyes\DetectEyes\Debug\DetectEyes.exe.intermediate.manifest
?????文件?????198867??2014-07-26?13:02??DetectEyes\DetectEyes\Debug\DetectEyes.obj
?????文件?????????66??2014-07-26?13:02??DetectEyes\DetectEyes\Debug\mt.dep
?????文件?????551936??2014-07-26?13:02??DetectEyes\DetectEyes\Debug\vc90.idb
?????文件?????937984??2014-07-26?13:02??DetectEyes\DetectEyes\Debug\vc90.pdb
?????文件???????1755??2014-07-26?13:02??DetectEyes\DetectEyes\DetectEyes.cpp
?????文件???????4711??2014-07-25?20:19??DetectEyes\DetectEyes\DetectEyes.vcproj
?????文件???????1413??2014-07-26?13:13??DetectEyes\DetectEyes\DetectEyes.vcproj.Wenbo-PC.Wenbo.user
?????文件????1095035??2013-01-28?08:17??DetectEyes\DetectEyes\haarcascade_eye_tree_eyeglasses.xm
?????文件?????919871??2013-01-28?08:17??DetectEyes\DetectEyes\haarcascade_frontalface_alt.xm
?????文件?????837462??2013-01-28?08:17??DetectEyes\DetectEyes\haarcascade_frontalface_alt2.xm
?????文件????3566592??2014-07-26?13:13??DetectEyes\DetectEyes.ncb
?????文件????????896??2014-07-25?20:12??DetectEyes\DetectEyes.sln
????..A..H.?????10240??2014-07-26?13:13??DetectEyes\DetectEyes.suo
?????文件?????755444??2014-07-26?13:06??DetectEyes\result.png
?????文件???????1435??2014-07-26?13:12??DetectEyes\總結(jié).txt
?????目錄??????????0??2014-07-26?13:02??DetectEyes\DetectEyes\Debug
?????目錄??????????0??2014-07-26?11:48??DetectEyes\Debug
?????目錄??????????0??2014-07-26?13:22??DetectEyes\DetectEyes
?????目錄??????????0??2014-07-26?13:19??DetectEyes
-----------?---------??----------?-----??----
?????????????11372397????????????????????27
............此處省略0個文件信息
評論
共有 條評論