⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdhaar.cpp

📁 该文件夹下的代码是我在做人脸检测时的VC源代码
💻 CPP
字号:
#include "FdHaar.h"
CvMemStorage* storage = 0;

CvHaarClassifierCascade* cascade = 0;
void detect_and_draw( IplImage* img )
{
    int scale = 1;
    IplImage* temp = cvCreateImage( cvSize(img->width/scale,img->height/scale), 8, 3 );
	//确定两个点来确定人脸位置,因为用cvRetangle嘛
    CvPoint pt1, pt2;
    int i;
	
    //cvPyrDown( img, temp, CV_GAUSSIAN_5x5 );
    cvClearMemStorage( storage );
	
    if( cascade )
    {
		//也许图像中,有不止一个face,所以创建一增长的face序列
		//检测并将其存储在序列中
        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(255,0,0), 3, 8, 0 );
        }
    }
	cvNamedWindow( "result", 1 );
    cvShowImage( "result", img );
    cvReleaseImage( &temp );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -