AdaBoost人脸检测程序


利用opencv2.3.1 开发的adaboost人脸检测,使用了正面人脸分类器,当摄像头检测到的正面人脸消失三秒钟后记录摄像头照片。项目开始的时候会有记录十张用户图片计算平均人脸面积。
资源截图
代码片段和文件信息
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include “stdafx.h“
#include “iostream“
#include “ctime“
#include “fstream“
#include “windows.h“
#include “TLHelp32.h“

#include “cv.h“
#include “highgui.h“
 
using namespace std;
#ifdef _EiC
#define WIN32
#endif
 
static CvMemStorage* storage = 0;
static CvMemStorage* storage1 = 0;
static CvHaarClassifierCascade* cascade = 0;
static CvHaarClassifierCascade* cascade_eye=0;
 
// 函数声明
void detect_and_draw( IplImage* image );
void alert(IplImage*);
void superviseSystemProcess();
void readAllowProcess();
void getCurrentProcess();
void maxTheExamSys();
 
// 系统变量
const char* cascade_name =
    “haarcascade_frontalface_alt.xml“;
/*    “haarcascade_profileface.xml“;*/

const char* cascade_eye_name = “haarcascade_eye.xml“;

// 全局变量
double time_disappear_start = (double)0;

// 统计平均人脸面积用的帧数变量
const int N_FACE = 10;
int AVG_FACE=-1;
int MAX_FACE;
int MIN_FACE;

int NUM_PIC=0;
string allowedProcess[80]; 

ofstream file;

int main( int argc char** argv )
{
// 打开考试程序
//ShellExecute(NULL “open“ “.\Exam.exe“ NULL NULL SW_SHOWNORMAL);
//WinExec(“.\exam\ExamMFC.exe“SW_SHOWMAXIMIZED);
//SetWindowPos(   HWND_TOPMOST   0   0   0   0   SWP_NOMOVE   |   SWP_NOSIZE);
file.open(“monitor.txt“ios::trunc); // 用于记录系统进程控制
//获取当前进程列表保存到文件
//getCurrentProcess();
// 读取允许的系统进程列表
//readAllowProcess();

    CvCapture* capture = 0;
    IplImage *frame *frame_copy = 0;
    int optlen = strlen(“--cascade=“);
    const char* input_name;
 
    if( argc > 1 && strncmp( argv[1] “--cascade=“ optlen ) == 0 )
    {
        cascade_name = argv[1] + optlen;
        input_name = argc > 2 ? argv[2] : 0;
    }
    else
    {
// 脸部分类器
        //cascade_name = “C:\opencv\data\haarcascades\haarcascade_frontalface_alt2.xml“;
cascade_name=“.\classifiers\haarcascade_frontalface_alt2.xml“;
// 眼睛分类器测试不同的眼睛分类器
//cascade_eye_name = “C:\opencv\data\haarcascades\haarcascade_eye.xml“;                   // 默认的眼睛分类器效果差一点
//cascade_eye_name = “C:\opencv\data\haarcascades\haarcascade_eye_tree_eyeglasses.xml“;  // 这个效果对于戴眼镜效果好
//cascade_eye_name = “C:\opencv\data\haarcascades\haarcascade_mcs_eyepair_big.xml“;    // 这个效果不怎么样,用来检测一对眼睛的
//cascade_eye_name = “C:\opencv\data\haarcascades\haarcascade_mcs_lefteye.xml“;    //  这个效果太烂了
//cascade_eye_name = “C:\opencv\data\haarcascades\haarcascade_lefteye_2splits.xml“;      //  这个效果非常不错
cascade_eye_name = “.\classifiers\haarcascade_lefteye_2splits.xml“;
//cascade_eye_name = “C:\opencv\data\haarcascades\haarcascade_righteye_2splits.xml“;    // 效果稍微比左眼的lefteye_2splits差一点 
//cascade_eye_name = “C:\opencv\data\haarcascades\haarcascade_mcs_righteye.xml“;    //  这个效果不是很好


        //opencv装好后haarcascade_frontalface_alt2.xml的路径

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

     文件     116736  2012-03-22 15:35  ImageTestDebugImageTest.exe

     文件    1199364  2012-03-22 15:35  ImageTestDebugImageTest.ilk

     文件    1920000  2012-03-22 15:35  ImageTestDebugImageTest.pdb

     文件     115068  2012-06-04 16:52  ImageTestImageTestcapture1.jpg

     文件     128016  2012-06-04 16:52  ImageTestImageTestcapture2.jpg

     文件     129560  2012-06-04 16:52  ImageTestImageTestcapture3.jpg

     文件     129972  2012-06-04 16:52  ImageTestImageTestcapture4.jpg

     文件     837462  2011-08-12 21:35  ImageTestImageTestclassifiershaarcascade_frontalface_alt2.xml

     文件     333030  2011-08-12 21:35  ImageTestImageTestclassifiershaarcascade_lefteye_2splits.xml

     文件       1422  2012-03-22 15:35  ImageTestImageTestDebugcl.command.1.tlog

     文件      30892  2012-03-22 15:35  ImageTestImageTestDebugCL.read.1.tlog

     文件        878  2012-03-22 15:35  ImageTestImageTestDebugCL.write.1.tlog

     文件       2106  2012-03-22 10:48  ImageTestImageTestDebugImageTest.Build.CppClean.log

     文件        406  2012-03-22 10:49  ImageTestImageTestDebugImageTest.exe.embed.manifest

     文件        472  2012-03-22 10:49  ImageTestImageTestDebugImageTest.exe.embed.manifest.res

     文件        381  2012-03-22 15:35  ImageTestImageTestDebugImageTest.exe.intermediate.manifest

     文件         68  2012-03-22 15:35  ImageTestImageTestDebugImageTest.lastbuildstate

     文件      10846  2012-03-22 15:35  ImageTestImageTestDebugImageTest.log

     文件     392493  2012-03-22 15:35  ImageTestImageTestDebugImageTest.obj

     文件    1114112  2012-03-22 10:48  ImageTestImageTestDebugImageTest.pch

     文件        208  2012-03-22 10:49  ImageTestImageTestDebugImageTest_manifest.rc

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink-cvtres.read.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink-cvtres.write.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink.2240-cvtres.read.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink.2240-cvtres.write.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink.2240.read.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink.2240.write.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink.3832-cvtres.read.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink.3832-cvtres.write.1.tlog

     文件          2  2012-03-22 15:35  ImageTestImageTestDebuglink.3832.read.1.tlog

............此处省略71个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)