资源简介

基于opencv cascade分类器及模板匹配算法实现的人脸检测及跟踪算法,首先 cascade检测到人脸,然后更新ROI区域,当检测不到人脸时使用模板匹配方法进行识别。i7上可达到80FPS,速率非常快,鲁棒性非常好,当头倾斜90°也能够跟踪。

资源截图

代码片段和文件信息

#include “StdAfx.h“

#include 
#include 

#include “VideoFaceDetector.h“
#include 
 
const cv::String    WINDOW_NAME(“Camera video“);
//const cv::String    CASCADE_FILE(“cascade_paper.xml“);
//const cv::String    CASCADE_FILE(“haarcascade_frontalface_default.xml“);
const cv::String    CASCADE_FILE(“haarcascade_frontalface_alt2.xml“);
//const cv::String    CASCADE_FILE(“lbpcascade_frontalface.xml“);
//const cv::String    CASCADE_FILE(“aGest.xml“);
int main(int argc char** argv)
{
// Try opening camera
cv::VideoCapture camera(0);
//cv::VideoCapture camera(“D:\\video.mp4“);
if (!camera.isOpened()) {
fprintf(stderr “Error getting camera...\n“);
exit(1);
}

cv::namedWindow(WINDOW_NAME cv::WINDOW_AUTOSIZE);

VideoFaceDetector detector(CASCADE_FILE camera);
cv::Mat frame;
double fps = 0 time_per_frame;
detector.setTemplateMatchingMaxDuration(1);
while (true)
{
int timebegin = 0;
int timeend = 0;
timebegin = clock();

auto start = cv::getCPUTickCount();
detector >> frame;
auto end = cv::getCPUTickCount();

timeend = clock();
printf( “Running time is: %f ms \n“ static_cast(timeend-timebegin)/CLOCKS_PER_SEC*1000);//输出运行时间

time_per_frame = (end - start) / cv::getTickFrequency();
fps = (15 * fps + (1 / time_per_frame)) / 16;

//printf(“Time per frame: %3.3f\tFPS: %3.3f\n“ time_per_frame fps);

cv::rectangle(frame detector.face() cv::Scalar(255 0 0));
cv::circle(frame detector.facePosition() 30 cv::Scalar(0 255 0));

cv::imshow(WINDOW_NAME frame);
if (cv::waitKey(1) == 27) break;
}

return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2359296  2016-11-18 14:47  人脸j检测及跟踪\ipch\opentest-aab0e643\opentest-526e489e.ipch

     文件      74652  2009-11-16 10:42  人脸j检测及跟踪\opentest\aGest.xml

     文件      74941  2016-09-29 11:11  人脸j检测及跟踪\opentest\cascade_paper.xml

     文件     540616  2015-01-25 14:31  人脸j检测及跟踪\opentest\haarcascade_frontalface_alt2.xml

     文件      51856  2013-11-13 17:44  人脸j检测及跟踪\opentest\lbpcascade_frontalface.xml

     文件       1709  2016-11-18 14:47  人脸j检测及跟踪\opentest\opentest.cpp

     文件       5057  2016-11-11 10:17  人脸j检测及跟踪\opentest\opentest.vcxproj

     文件       1512  2016-11-11 10:17  人脸j检测及跟踪\opentest\opentest.vcxproj.filters

     文件        143  2015-11-02 15:16  人脸j检测及跟踪\opentest\opentest.vcxproj.user

     文件       1560  2015-11-02 15:16  人脸j检测及跟踪\opentest\ReadMe.txt

     文件        213  2015-11-02 15:16  人脸j检测及跟踪\opentest\stdafx.cpp

     文件        233  2015-11-02 15:16  人脸j检测及跟踪\opentest\stdafx.h

     文件        236  2015-11-02 15:16  人脸j检测及跟踪\opentest\targetver.h

     文件       9278  2016-11-14 10:51  人脸j检测及跟踪\opentest\VideoFaceDetector.cpp

     文件       2399  2016-11-14 10:43  人脸j检测及跟踪\opentest\VideoFaceDetector.h

     文件        891  2015-11-02 15:16  人脸j检测及跟踪\opentest.sln

    ..A..H.     31232  2016-11-18 14:47  人脸j检测及跟踪\opentest.suo

     目录          0  2016-11-18 14:48  人脸j检测及跟踪\ipch\opentest-aab0e643

     目录          0  2016-11-18 14:48  人脸j检测及跟踪\ipch

     目录          0  2016-11-18 14:49  人脸j检测及跟踪\opentest

     目录          0  2016-11-18 14:48  人脸j检测及跟踪

----------- ---------  ---------- -----  ----

              3155824                    21


评论

共有 条评论