• 大小: 3.25MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-28
  • 语言: 其他
  • 标签: opencv  vc  

资源简介

Adaboost人头部检测opencv和vc代码实现,已经测试过,可以使用!

资源截图

代码片段和文件信息

#include “cv.h“
#include “highgui.h“
 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
 
#ifdef _EiC
#define WIN32
#endif
 
static CvMemStorage* storage = 0;
static CvHaarClassifierCascade* cascade = 0; 
void   detect_and_draw( IplImage* image ); 
const  char* cascade_name = “haarcascade_head.xml“;


void main( int argc char** argv )
{
CvVideoWriter *writer = 0;
IplImage* simg = 0;
IplImage* tempimg = 0;
IplImage* backgroundimg = 0;
IplImage* backgroundimgtmp = 0;
IplImage* img = 0;//检测人头处用到

//测图片
           backgroundimg = cvLoadImage(“test.jpg“1);
       cascade_name = “haarcascade_frontalface_alt2.xml“;
//cascade_name = “haarcascade_head.xml“;
           cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name 0 0 0 );
           storage = cvCreateMemStorage(0);
           cvNamedWindow( “Adaboost人脸检测“ 1 );
   cvNamedWindow( “原图像“ 1 );
           cvShowImage( “原图像“backgroundimg);
           detect_and_draw( backgroundimg );
           cvWaitKey(0);
  
}
void detect_and_draw( IplImage* img )
{
    static CvScalar colors[] = 
    {
        {{00255}}
        {{0128255}}
        {{0255255}}
        {{02550}}
        {{2551280}}
        {{2552550}}
        {{25500}}
        {{2550255}}
    };
 
    double scale = 1.3;
    IplImage* gray = cvCreateImage( cvSize(img->widthimg->height) 8 1 );
    IplImage* small_img = cvCreateImage( cvSize( cvRound (img->width/scale)
                         cvRound (img->height/scale))
                     8 1 );
    int i;
 
    cvCvtColor( img gray CV_BGR2GRAY );
    cvResize( gray small_img CV_INTER_LINEAR );
    cvEqualizeHist( small_img small_img );
    cvClearMemStorage( storage );
 
    if( cascade )
    {
        double t = (double)cvGetTickCount();
        CvSeq* faces = cvHaarDetectobjects( small_img cascade storage1.1 2
           CV_HAAR_DO_CANNY_PRUNINGcvSize(30 30) );
        t = (double)cvGetTickCount() - t;
        printf( “detection time = %gms\n“ t/((double)cvGetTickFrequency()*1000.) );
        for( i = 0; i < (faces ? faces->total : 0); i++ )
        {
            CvRect* r = (CvRect*)cvGetSeqElem( faces i );
            CvPoint center;
            int radius;
            center.x = cvRound((r->x + r->width*0.5)*scale);
            center.y = cvRound((r->y + r->height*0.5)*scale);
            radius = cvRound((r->width + r->height)*0.25*scale);
            cvCircle( img center radius colors[i%8] 3 8 0 );
        }
    }
 
    cvShowImage( “Adaboost人脸检测“ img );
    cvReleaseImage( &gray );
    cvReleaseImage( &small_img );
}

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

     文件      11060  2011-11-29 22:49  9--Adaboost人头部检测opencv和vc代码实现\11.JPG

     文件     105445  2011-11-29 22:55  9--Adaboost人头部检测opencv和vc代码实现\111-1.jpg

     文件     105522  2011-11-29 22:54  9--Adaboost人头部检测opencv和vc代码实现\111-2.jpg

     文件      37497  2011-11-29 22:53  9--Adaboost人头部检测opencv和vc代码实现\111.JPG

     文件      11209  2011-11-29 22:49  9--Adaboost人头部检测opencv和vc代码实现\22.JPG

     文件      90699  2011-11-29 22:59  9--Adaboost人头部检测opencv和vc代码实现\222-1.jpg

     文件      92403  2011-11-29 22:59  9--Adaboost人头部检测opencv和vc代码实现\222-2.jpg

     文件      30191  2011-11-29 22:53  9--Adaboost人头部检测opencv和vc代码实现\222.JPG

     文件       9251  2011-11-29 22:49  9--Adaboost人头部检测opencv和vc代码实现\33.JPG

     文件      85630  2011-11-29 23:01  9--Adaboost人头部检测opencv和vc代码实现\333-1.jpg

     文件      87062  2011-11-29 23:03  9--Adaboost人头部检测opencv和vc代码实现\333-2.jpg

     文件      29086  2011-11-29 22:53  9--Adaboost人头部检测opencv和vc代码实现\333.JPG

     文件      11356  2011-11-29 22:49  9--Adaboost人头部检测opencv和vc代码实现\44.JPG

     文件      39197  2011-11-29 22:53  9--Adaboost人头部检测opencv和vc代码实现\444.JPG

     文件      10076  2011-11-29 22:49  9--Adaboost人头部检测opencv和vc代码实现\55.JPG

     文件      36596  2011-11-29 22:53  9--Adaboost人头部检测opencv和vc代码实现\555.JPG

     文件       9492  2011-11-29 22:49  9--Adaboost人头部检测opencv和vc代码实现\66.JPG

     文件     103198  2011-11-29 23:05  9--Adaboost人头部检测opencv和vc代码实现\666-1.jpg

     文件     106904  2011-11-29 23:04  9--Adaboost人头部检测opencv和vc代码实现\666-2.jpg

     文件      36966  2011-11-29 22:53  9--Adaboost人头部检测opencv和vc代码实现\666.JPG

     文件      37495  2011-11-29 22:43  9--Adaboost人头部检测opencv和vc代码实现\Adaboost人脸检测1.jpg

     文件      71191  2011-11-29 22:45  9--Adaboost人头部检测opencv和vc代码实现\Adaboost人脸检测2.jpg

     文件     861012  2005-03-16 19:18  9--Adaboost人头部检测opencv和vc代码实现\haarcascade_frontalface_alt2.xml

     文件       2830  2011-12-01 19:36  9--Adaboost人头部检测opencv和vc代码实现\image.cpp

     文件       4347  2011-09-14 12:58  9--Adaboost人头部检测opencv和vc代码实现\image.dsp

     文件        535  2011-09-14 12:41  9--Adaboost人头部检测opencv和vc代码实现\image.dsw

     文件      66560  2011-12-01 19:37  9--Adaboost人头部检测opencv和vc代码实现\image.ncb

     文件     820736  2011-12-01 19:37  9--Adaboost人头部检测opencv和vc代码实现\image.opt

     文件       1390  2011-12-01 19:36  9--Adaboost人头部检测opencv和vc代码实现\image.plg

     文件      91814  2011-09-14 12:41  9--Adaboost人头部检测opencv和vc代码实现\lena.jpg

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

评论

共有 条评论