资源简介
人脸检测,检测人睁闭眼睛,可以判断是否疲劳驾驶,代码是vc+opencv工程,里面自带有opencv的dll库。
代码片段和文件信息
// FatigueDetecting.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
#include “FaceDetect.h“
#include “Function.h“
#include “SVMTrain.h“
#include “Feature.h“
using namespace DpFat;
using namespace std;
const int DESIRED_CAMERA_WIDTH = 640;
const int DESIRED_CAMERA_HEIGHT = 480;
const char *windowName = “CameraFaceRec“; // Name shown in the GUI window.
#if !defined VK_ESCAPE
#define VK_ESCAPE 0x1B // Escape character (27)
#endif
void ImgTest();
void VideoTest();
void CameraTest();
const string option[] =
{
“1. 图片测试;“
“2. 视频测试;“
“3. 摄像头测试;“
“4. SVM训练(没分类);“
“5. SVM训练(已分类);“
“6. SVM测试;“
“7. 退出;“
};
const int optionCount = 7;
int _tmain(int argc _TCHAR* argv[])
{
bool isExit = false;
while (isExit != true)
{
stringstream selectOption(stringstream::in | stringstream::out);
selectOption << “Fatigue Detecting Option:“<< endl;
for(int i = 0; i < optionCount; i++)
{
selectOption << option[i] << endl;
}
cout << “////////////////////////////////////“<< endl;
cout << selectOption.str();
cout << “////////////////////////////////////“<< endl;
cout << “请选择一项操作:“;
int select = -1;
bool isRepeat = true;
while (isRepeat)
{
cin >> select;
isRepeat = false;
switch (select)
{
case 1:
ImgTest();
break;
case 2:
VideoTest();
break;
case 3:
CameraTest();
break;
case 4:
SVMTrain(false);
break;
case 5:
SVMTrain(true);
break;
case 6:
SVMTest();
break;
case 7:
isExit = true;
break;
case -1:
isExit = true;
break;
default:
cout << “输入错误,请重新输入:“;
isRepeat = true;
select=5;
break;
}
}
}
return 0;
}
void ImgTest()
{
static const char* const path = “../data/144909636.webp“;
cv::Mat_ img(cv::imread(path CV_LOAD_IMAGE_GRAYSCALE));
if (!img.data)
{
printf(“Cannot load %s\n“ path);
return;
}
FaceDetect detect;
if(!detect.LoadCascades(“../data/“))
{
cout<<“Load detect cascade error!“< }
try
{
CvSVM svm;
string path = “svmfat.xml“;
svm.load(path.c_str() “svm“);
cout << “Begin to predict“ << endl;
Face aFace=detect.DetectFace(img);
cv::Rect rcFace=aFace.GetFace();
if (rcFace.width>0)
{
rectangle(imgrcFaceScalar(000)2);
cv::Rect rcLEye=aFace.GetLEye();
cv::Rect rcREye=aFace.GetREye();
int iLfet=1iRight=1;
if (rcREye.width>0)
{
//rectangle(imgrcREyeScalar(000)2);
Mat eye=img(rcREye).clone();
resize(eyeeyecv::Size(F_WIDTHF_HEIGHT));
equalizeHist(eyeeye);
Mat features;
GetHistogram(eye features);
features = features.reshape(1 1);
features.convertTo(features CV_32FC1);
iRight = (int)svm.predict(features);
if (iRight)
{
cout<<“open right eye!“< }
else
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-03-02 16:29 FatigueDetecting\
目录 0 2017-12-27 16:55 FatigueDetecting\Debug\
文件 8162 2016-03-28 16:22 FatigueDetecting\Debug\BuildLog.htm
目录 0 2016-03-02 16:29 FatigueDetecting\DpPerclos\
文件 520 2015-06-01 08:45 FatigueDetecting\DpPerclos\Face.cpp
文件 715 2015-06-01 09:07 FatigueDetecting\DpPerclos\Face.h
文件 6605 2015-06-08 17:14 FatigueDetecting\DpPerclos\FaceDetect.cpp
文件 1457 2015-06-01 09:07 FatigueDetecting\DpPerclos\FaceDetect.h
文件 2705 2015-06-09 09:15 FatigueDetecting\DpPerclos\Feature.cpp
文件 890 2015-06-10 15:25 FatigueDetecting\DpPerclos\Feature.h
文件 9328 2015-06-05 09:13 FatigueDetecting\DpPerclos\Function.cpp
文件 2275 2015-06-05 09:13 FatigueDetecting\DpPerclos\Function.h
文件 4479 2015-06-08 08:58 FatigueDetecting\DpPerclos\Histogram.h
文件 12020 2015-06-09 10:22 FatigueDetecting\DpPerclos\SVMTrain.cpp
文件 813 2015-06-09 13:54 FatigueDetecting\DpPerclos\SVMTrain.h
文件 15127 2015-06-11 16:55 FatigueDetecting\FatigueDetecting.cpp
文件 6618 2015-06-05 09:32 FatigueDetecting\FatigueDetecting.vcproj
文件 1423 2017-12-27 17:00 FatigueDetecting\FatigueDetecting.vcproj.DEPPON.141176.user
文件 1423 2015-06-16 18:13 FatigueDetecting\FatigueDetecting.vcproj.zr-PC.zr.user
文件 1237 2015-05-29 16:58 FatigueDetecting\ReadMe.txt
目录 0 2017-12-27 16:58 FatigueDetecting\Release\
文件 12168 2015-06-11 17:25 FatigueDetecting\Release\BuildLog.htm
文件 1031542 2015-06-01 14:17 FatigueDetecting\Release\Face.obj
文件 1073052 2015-06-08 17:14 FatigueDetecting\Release\FaceDetect.obj
文件 616 2015-06-11 17:25 FatigueDetecting\Release\FatigueDetecting.exe.intermediate.manifest
文件 1132734 2015-06-11 17:25 FatigueDetecting\Release\FatigueDetecting.obj
文件 1062786 2015-06-10 15:25 FatigueDetecting\Release\Feature.obj
文件 1182296 2015-06-05 09:13 FatigueDetecting\Release\Function.obj
文件 1193043 2015-06-10 15:25 FatigueDetecting\Release\SVMTrain.obj
文件 65 2015-06-11 17:25 FatigueDetecting\Release\mt.dep
文件 35102 2015-06-01 14:17 FatigueDetecting\Release\stdafx.obj
............此处省略512个文件信息
相关资源
- seetaface的人脸检测-人脸对齐-人脸识别
- BioID人脸检测/人脸识别正样本数据集
- 利用haar+CART+adaboost训练自己的人脸检
- 人脸检测正样本fddb数据库,已经截取
- 基于opencv的人脸检测与跟踪
- opencv使用cascade分类器训练人脸检测的
- 人脸表情识别 源代码
- 人脸识别含原理、论文和源代码
- Opencv3.0.0人脸检测+识别代码,vs2012工
- MTCNN人脸检测应用代码
- SVM+LBP 人脸检测
- 安卓opencv实现多人检测,人脸检测,
- DlibTest.7z
- Haar人脸检测+SVM+PCA人脸识别
- MIT数据库及相关
- 人脸数据库 种常用人脸数据库汇总,
- Haar+Adaboost人脸检测 C实现
- dlib人脸68点特征点检测
- 基于YCbCr空间的高斯肤色模型的人脸检
-
人脸检测xm
l - 微信小程序开发之人脸识别源码
- 一个完整的人脸识别系统源代码,可
- 人脸识别系统源代码 可运行
- OPENCV人脸检测程序可直接运行
- Vio-Jones算法原文
- 人脸检测与识别
- 人脸识别Demo系列免费、带离线——人
- 基于肤色和模板的人脸检测
- 人脸检测系统源代码
- 基于django的人脸检测Web平台搭建基于
评论
共有 条评论