人脸检测,检测人睁闭眼睛,可以判断是否疲劳驾驶,代码是vc+opencv工程,里面自带有opencv的dll库。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-03-02 16:29 FatigueDetecting
目录 0 2017-12-27 16:55 FatigueDetectingDebug
文件 8162 2016-03-28 16:22 FatigueDetectingDebugBuildLog.htm
目录 0 2016-03-02 16:29 FatigueDetectingDpPerclos
文件 520 2015-06-01 08:45 FatigueDetectingDpPerclosFace.cpp
文件 715 2015-06-01 09:07 FatigueDetectingDpPerclosFace.h
文件 6605 2015-06-08 17:14 FatigueDetectingDpPerclosFaceDetect.cpp
文件 1457 2015-06-01 09:07 FatigueDetectingDpPerclosFaceDetect.h
文件 2705 2015-06-09 09:15 FatigueDetectingDpPerclosFeature.cpp
文件 890 2015-06-10 15:25 FatigueDetectingDpPerclosFeature.h
文件 9328 2015-06-05 09:13 FatigueDetectingDpPerclosFunction.cpp
文件 2275 2015-06-05 09:13 FatigueDetectingDpPerclosFunction.h
文件 4479 2015-06-08 08:58 FatigueDetectingDpPerclosHistogram.h
文件 12020 2015-06-09 10:22 FatigueDetectingDpPerclosSVMTrain.cpp
文件 813 2015-06-09 13:54 FatigueDetectingDpPerclosSVMTrain.h
文件 15127 2015-06-11 16:55 FatigueDetectingFatigueDetecting.cpp
文件 6618 2015-06-05 09:32 FatigueDetectingFatigueDetecting.vcproj
文件 1423 2017-12-27 17:00 FatigueDetectingFatigueDetecting.vcproj.DEPPON.141176.user
文件 1423 2015-06-16 18:13 FatigueDetectingFatigueDetecting.vcproj.zr-PC.zr.user
文件 1237 2015-05-29 16:58 FatigueDetectingReadMe.txt
目录 0 2017-12-27 16:58 FatigueDetectingRelease
文件 12168 2015-06-11 17:25 FatigueDetectingReleaseBuildLog.htm
文件 1031542 2015-06-01 14:17 FatigueDetectingReleaseFace.obj
文件 1073052 2015-06-08 17:14 FatigueDetectingReleaseFaceDetect.obj
文件 616 2015-06-11 17:25 FatigueDetectingReleaseFatigueDetecting.exe.intermediate.manifest
文件 1132734 2015-06-11 17:25 FatigueDetectingReleaseFatigueDetecting.obj
文件 1062786 2015-06-10 15:25 FatigueDetectingReleaseFeature.obj
文件 1182296 2015-06-05 09:13 FatigueDetectingReleaseFunction.obj
文件 1193043 2015-06-10 15:25 FatigueDetectingReleaseSVMTrain.obj
文件 65 2015-06-11 17:25 FatigueDetectingReleasemt.dep
文件 35102 2015-06-01 14:17 FatigueDetectingReleasestdafx.obj
............此处省略512个文件信息
// 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
“ 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 FatigueDetectingDebug
文件 8162 2016-03-28 16:22 FatigueDetectingDebugBuildLog.htm
目录 0 2016-03-02 16:29 FatigueDetectingDpPerclos
文件 520 2015-06-01 08:45 FatigueDetectingDpPerclosFace.cpp
文件 715 2015-06-01 09:07 FatigueDetectingDpPerclosFace.h
文件 6605 2015-06-08 17:14 FatigueDetectingDpPerclosFaceDetect.cpp
文件 1457 2015-06-01 09:07 FatigueDetectingDpPerclosFaceDetect.h
文件 2705 2015-06-09 09:15 FatigueDetectingDpPerclosFeature.cpp
文件 890 2015-06-10 15:25 FatigueDetectingDpPerclosFeature.h
文件 9328 2015-06-05 09:13 FatigueDetectingDpPerclosFunction.cpp
文件 2275 2015-06-05 09:13 FatigueDetectingDpPerclosFunction.h
文件 4479 2015-06-08 08:58 FatigueDetectingDpPerclosHistogram.h
文件 12020 2015-06-09 10:22 FatigueDetectingDpPerclosSVMTrain.cpp
文件 813 2015-06-09 13:54 FatigueDetectingDpPerclosSVMTrain.h
文件 15127 2015-06-11 16:55 FatigueDetectingFatigueDetecting.cpp
文件 6618 2015-06-05 09:32 FatigueDetectingFatigueDetecting.vcproj
文件 1423 2017-12-27 17:00 FatigueDetectingFatigueDetecting.vcproj.DEPPON.141176.user
文件 1423 2015-06-16 18:13 FatigueDetectingFatigueDetecting.vcproj.zr-PC.zr.user
文件 1237 2015-05-29 16:58 FatigueDetectingReadMe.txt
目录 0 2017-12-27 16:58 FatigueDetectingRelease
文件 12168 2015-06-11 17:25 FatigueDetectingReleaseBuildLog.htm
文件 1031542 2015-06-01 14:17 FatigueDetectingReleaseFace.obj
文件 1073052 2015-06-08 17:14 FatigueDetectingReleaseFaceDetect.obj
文件 616 2015-06-11 17:25 FatigueDetectingReleaseFatigueDetecting.exe.intermediate.manifest
文件 1132734 2015-06-11 17:25 FatigueDetectingReleaseFatigueDetecting.obj
文件 1062786 2015-06-10 15:25 FatigueDetectingReleaseFeature.obj
文件 1182296 2015-06-05 09:13 FatigueDetectingReleaseFunction.obj
文件 1193043 2015-06-10 15:25 FatigueDetectingReleaseSVMTrain.obj
文件 65 2015-06-11 17:25 FatigueDetectingReleasemt.dep
文件 35102 2015-06-01 14:17 FatigueDetectingReleasestdafx.obj
............此处省略512个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)