资源简介
主要实现人脸疲劳检测,应用方面很广,比如货运司机的预警系统,火车预警系统等等
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include “Dlib.h“
#include “FatigueDetect.h“
#include “facedetect-dll.h“
using namespace dlib;
using namespace std;
using namespace cv;
void ImageTest();
void VideoTest();
void VideoTest2();
void VideoTest3();
int main()
{
VideoTest2();
//VideoTest3();
return 0;
}
void ImageTest()
{
long start end;
setUseOptimized(true);
char img_file[] = “E:\\WorkStation\\Project\\DlibTest\\x64\\Debug\\image_0026.png“;
char landmark_file[] = “E:\\WorkStation\\Source\\shape_predictor_68_face_landmarks.dat“;
Mat img = imread(img_file CV_BGR2GRAY);
frontal_face_detector detector = get_frontal_face_detector();
shape_predictor sp;
deserialize(landmark_file) >> sp;
array2d arrImg;
load_image(arrImg img_file);
start = clock();
std::vector dets = detector(arrImg);
for (unsigned long j = 0; j < dets.size(); ++j)
{
full_object_detection shape = sp(arrImg dets[j]);
for (unsigned long i = 0; i < shape.num_parts(); i++)
{
point pt = shape.part(i);
int x = pt.x();
int y = pt.y();
line(img Point(pt.x() pt.y()) Point(pt.x() pt.y()) Scalar(0 0 255) 2);
}
}
end = clock();
printf(“%ld\n“ end - start);//单位:毫秒
imshow(“img“ img);
waitKey();
}
void VideoTest()
{
char landmark_file[] = “shape_predictor_68_face_landmarks.dat“;
Ptr cascade = makePtr(“lbpcascade_frontalface_improved.xml“);
VideoCapture cap(0);
if (!cap.isOpened())
{
std::cout << “open failed“ << std::endl;
return;
}
Mat frame;
Mat merge;
Mat convermat;
std::vector faces;
frontal_face_detector detector = get_frontal_face_detector();
shape_predictor sp;
deserialize(landmark_file) >> sp;
clock_t start end;
while (true)
{
cap >> frame;
if (frame.empty())
{
std::cout<< “frame is empty“ << std:: endl;
break;
}
start = clock();
std::vector splitframe;
split(frame splitframe);
for (int i = 0; i < splitframe.size(); i++)
{
splitframe[i].convertTo(splitframe[i]splitframe[i].type()1.520);
equalizeHist(splitframe[i] splitframe[i]);
}
cv::merge(splitframe merge);
imshow(“equ“merge);
cv_image arrImg(merge);
std::vector dets = detector(arrImg);
for (unsigned long j = 0; j < dets.size(); ++j)
{
full_object_detection shape = sp(arrImg dets[j]);
for (unsigned long i = 0; i < shape.num_parts(); i++)
{
point pt = shape.part(i);
int x = pt.x();
int y = pt.y();
circle(frame Point(pt.x() pt.y()) 0.2 Scalar(0 0 255) 2);
}
}
end = clock();
c
相关资源
- 论文研究-基于肤色和AdaBoost算法的彩
- Emgu.CV 打开视频与人脸检测
- iOS平台下人脸识别系统实现研究
- 基于PCA的人脸识别技术的研究
- 基于多任务卷积网络(MTCNN)和Cente
- 人脸数据库(人脸检测,人脸识别)
- 基于WebCam的人脸检测技术的设计与实
- 人脸检测特征数据.rar
- 一套 MIT 的人脸训练样本库
- 比opencv还牛的,免费、高效的人脸检
- 人脸检测的论文
- 人脸检测的代码
- 基于opencv实现的人脸识别程序,需要
- 2017年人脸检测、人脸对齐、人脸识别
- 在Yale 人脸库上运用PCA+SVM的方法实现
- 用于人脸检测的一些标准人脸图库
- 基于opencv的人脸检测
- 人脸检测、人脸正负样本库
- haar+Adaboost人脸检测viola-jones人脸检测
- ORL人脸数据集
- 基于opencv接口的深度学习人脸检测代
- 基于Adaboost算法的人脸检测
- 人脸检测并保存人脸图像
- 基于Adaboost算法的人脸检测研究
- 基于AdaBoost的人脸检测改进算法
- 人脸检测综述
- opencv人脸检测训练用到的正样本图像
- 基于AdaBoost算法的人脸检测系统设计
- 利用OpenCV在VS2015平台下对进行人脸识
- cmu + mit 人脸测试集-旋转测试集
评论
共有 条评论