資源簡介
在VS2012上基于opencv的C++人眼識別與眨眼檢測源代碼

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?“constants.h“
#include?“opencv2/opencv.hpp“
using?namespace?cv;
using?namespace?std;
/*?Global?variables?*/
//Mat?prevgray; //?first?attempt
Mat?previousFace;
Mat?currentFace;
bool?leftEyeOpen?=?true;
bool?rightEyeOpen?=?true;
int?calibrationFace?=?calibrationDefault;
int?blinkNumberLeft?=?0;
int?blinkNumberRight?=?0;
clock_t?leftEyeCloseTime;
clock_t?rightEyeCloseTime;
/*?Functions?*/
//void?findEyes(Mat?matCapturedGrayImage?Mat?matCapturedImage?CascadeClassifier?cascEye?CascadeClassifier?cascFace); //?first?attempt
//void?drawOptFlowMap(const?Mat&?flow?Mat&?cflowmap?int?step?double?scale?const?Scalar&?color); //?first?attempt
void?headTracing(Mat?matCapturedGrayImage?Mat?matCapturedImage?CascadeClassifier?cascEye?CascadeClassifier?cascFace?Rect?&detectedFaceRegion);
void?calcFlow(const?Mat&?flow?Mat&?cflowmap?double?scale?int?&globalMovementX?int?&globalMovementY);
Rect?findBiggestFace(Mat?matCapturedGrayImage?CascadeClassifier?cascFace);
void?eyeTracking(Mat?&matCurrentEye?Mat?&matPreviousEye);
void?getEyesFromFace(Mat?&matFace?Mat?&matLeftEye?Mat?&matRightEye);
void?detectblink(Mat?&matEyePrevious?Mat?&matEyeCurrent?String?eye?bool?&eyeOpen?int?&blinkNumber?clock_t?&closeTime);
/**************************************************************************???to_string_with_precision???**************************************************************************/
template?
///From?(for?example?double)?value?makes?string?with?just?whole?numbers
std::string?to_string_with_precision(const?T?a_value?const?int?n?=?6)
{
std::ostringstream?out;
out?< return?out.str();
}
/**************************************************************************???main???**************************************************************************/
///?Application?will?detect?eye?blinking?by?calculating?optical?flow?of?face?and?eyes?
int?main()
{
CascadeClassifier?cascFace?cascEye;
if?(!cascFace.load(frontalFacePath))?{
printf(“Error?loading?cascade?file?for?face“);
return?1;
}
if?(!cascEye.load(eyePath))?{
printf(“Error?loading?cascade?file?for?eye“);
return?1;
}
Rect?detectedFaceRegion; //?have?to?be?created?here;?if?it?was?inside?while?the?image?would?be?still?changing
cout?<“\n\tESC?-?turn?this?program?off\n\tf?-?recalibrate?face\n\tc?-?reset?counter\n\n“;
namedWindow(“Result“?CV_WINDOW_NORMAL);
VideoCapture?capture(0);
if?(!capture.isOpened())
{
printf(“error?to?initialize?camera“);
return?1;
}
Mat?matCapturedImage;
while?(1)
{
Mat?matCapturedGrayImage;
capture?>>?matC
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.......???????881??2015-06-05?06:13??TiredTracker-master\OPENCV_DEBUG.props
????.......???????892??2015-06-05?06:13??TiredTracker-master\OPENCV_RELEASE.props
????.......???????421??2015-06-05?06:13??TiredTracker-master\TiredTracker\constants.h
????.......??????1906??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog\cl.command.1.tlog
????.......?????42882??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog\CL.read.1.tlog
????.......??????1958??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog\CL.write.1.tlog
????.......??????2076??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog\li
????.......??????3658??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog\li
????.......???????934??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog\li
????.......???????222??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog\TiredTracker.lastbuildstate
????.......????830464??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\vc120.idb
?????文件??????19796??2017-11-22?17:58??TiredTracker-master\TiredTracker\main.cpp
?????文件???????3377??2017-10-01?14:49??TiredTracker-master\TiredTracker\main.dsp
????.......??????1946??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog\cl.command.1.tlog
????.......?????38208??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog\CL.read.1.tlog
????.......??????1490??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog\CL.write.1.tlog
????.......??????2190??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog\li
????.......??????4494??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog\li
????.......???????716??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog\li
????.......???????224??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog\TiredTracker.lastbuildstate
????.......??????4111??2015-06-05?06:13??TiredTracker-master\TiredTracker\TiredTracker.vcxproj
????.......??????1055??2015-06-05?06:13??TiredTracker-master\TiredTracker\TiredTracker.vcxproj.filters
?????文件?????327680??2017-10-01?14:50??TiredTracker-master\TiredTracker.sdf
????.......???????960??2015-06-05?06:13??TiredTracker-master\TiredTracker.sln
????..A..H.??????8704??2017-10-01?14:50??TiredTracker-master\TiredTracker.v11.suo
?????目錄??????????0??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug\TiredTracker.tlog
?????目錄??????????0??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release\TiredTracker.tlog
?????目錄??????????0??2015-06-05?06:13??TiredTracker-master\TiredTracker\Debug
?????目錄??????????0??2015-06-05?06:13??TiredTracker-master\TiredTracker\Release
?????目錄??????????0??2017-10-01?14:49??TiredTracker-master\TiredTracker
............此處省略4個文件信息
評論
共有 條評論