• 大小: 1.53MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-04
  • 语言: 其他
  • 标签: OPENCV  人脸跟踪  

资源简介

用OPENCV写的,非常好用,需要在VC的支持下运行,

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “cvapp.h“
#include 

#define MERGESIZE 5


//global variable

static CvMemStorage* storage = 0;
static CvMemStorage* storage_eye = 0;
static CvHaarClassifierCascade* cascade = 0;
static CvHaarClassifierCascade* cascade_eye= 0;
const char* cascade_name =“E:/CVspace/OpenCV/data/haarcascades/haarcascade_frontalface_alt.xml“;



ImageProcessor *proc=0;



void detect_and_draw( IplImage* img )
{
    int scale = 1;
    IplImage* temp = cvCreateImage( cvSize(img->widthimg->height) 8 3 );
    CvPoint pt1 pt2pt1eyept2eyecyclecentereyecenter_pt1eyecenter_pt2eyecenter_pt3eyecenter_pt4;
    int ijcycleradius;
CvRect regFace;
IplImage* faceimg* tempfaceimg;
double sizeratio=1;

temp = cvCloneImage(img);
//cvPyrDown( img temp CV_GAUSSIAN_5x5 );
    cvClearMemStorage( storage );
cvClearMemStorage( storage_eye );

    if( cascade )
    {
        
CvSeq* faces = cvHaarDetectobjects( img cascade storage
                                            1.1 2 CV_HAAR_DO_CANNY_PRUNING
                                            cvSize(40 40) );



for( i = 0; i < (faces ? faces->total : 0); i++ )
        {
CvRect* r = (CvRect*)cvGetSeqElem( faces i );
            pt1.x = r->x*scale;
            pt2.x = (r->x+r->width)*scale;
            pt1.y = r->y*scale;
            pt2.y = (r->y+r->height)*scale;
            //cvRectangle( img pt1 pt2 CV_RGB(25500) 3 8 0 );
cyclecenter.x=(pt1.x+pt2.x)/2;
cyclecenter.y=(pt1.y+pt2.y)/2;
cycleradius=scale*max(r->widthr->height)/2;

//cvCircle(img cyclecenter cycleradius CV_RGB(25500) 3 8 0);
//cvEllipse( img cyclecenter cvSize(cycleradius1.4*cycleradius)00 360 CV_RGB(25500) 2);



regFace.x = r->x*scale;
regFace.y = r->y*scale;
regFace.width  =r->width*scale;
regFace.height =(int)r->height*scale/2;



if (regFace.width>200)
{
faceimg=cvCreateImage( cvSize(regFace.width/scaleregFace.height/scale) 8 img->nChannels);
cvSetImageROI (temp regFace);
//cvResize(img faceimg CV_INTER_LINEAR);
cvCopy (temp tempfaceimg);
sizeratio=1.0;
}
else
{
tempfaceimg=cvCreateImage( cvSize(regFace.width/scaleregFace.height/scale) 8 img->nChannels);
cvSetImageROI (temp regFace);
cvCopy (temp tempfaceimg);
//cvSaveImage(“temp1.jpg“tempfaceimg);
faceimg=cvCreateImage( cvSize(200regFace.height*200/regFace.width) 8 img->nChannels);
cvResize(tempfaceimgfaceimg);
//cvSaveImage(“temp2.jpg“faceimg);
sizeratio=(double)regFace.width/200;
}

//cvSaveImage(“temp.jpg“img);
//cvSaveImage(“temp.jpg“faceimg);


        CvSeq* eyes = cvHaarDetectobjects( faceimg cascade_eye storage_eye
                                            1.1 2 CV_HAAR_DO_CANNY_PRUNING
                                            cvSize(30 20) );

for( j = 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       49205  2005-04-26 01:19  FindEyes1.1\0925174346.jpg
     文件       30567  2005-04-26 02:05  FindEyes1.1\8358210705999159.jpg
     文件      110902  2005-01-24 18:17  FindEyes1.1\BioID_0249.bmp
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\0\
     文件         223  2005-04-09 15:56  FindEyes1.1\cascade\0\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\1\
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\10\
     文件        1287  2005-04-09 18:13  FindEyes1.1\cascade\10\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\11\
     文件        1362  2005-04-09 19:09  FindEyes1.1\cascade\11\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\12\
     文件         950  2005-04-09 21:03  FindEyes1.1\cascade\12\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\13\
     文件        1282  2005-04-10 00:49  FindEyes1.1\cascade\13\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\14\
     文件         919  2005-04-10 10:08  FindEyes1.1\cascade\14\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\15\
     文件         883  2005-04-11 06:45  FindEyes1.1\cascade\15\AdaBoostCARTHaarClassifier.txt
     文件         327  2005-04-09 16:01  FindEyes1.1\cascade\1\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\2\
     文件         340  2005-04-09 16:07  FindEyes1.1\cascade\2\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\3\
     文件         324  2005-04-09 16:12  FindEyes1.1\cascade\3\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\4\
     文件         523  2005-04-09 16:19  FindEyes1.1\cascade\4\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\5\
     文件         748  2005-04-09 16:30  FindEyes1.1\cascade\5\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\6\
     文件        1132  2005-04-09 16:45  FindEyes1.1\cascade\6\AdaBoostCARTHaarClassifier.txt
     目录           0  2005-11-29 12:10  FindEyes1.1\cascade\7\
............此处省略83个文件信息

评论

共有 条评论