• 大小: 1.99MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-08
  • 语言: 其他
  • 标签: OpenCV  人脸识别  

资源简介

一个基于 OpenCV 的人脸识别系统,源代码清楚,对学习图像识别的同学会很有用

资源截图

代码片段和文件信息

#include “cv.h“
#include “highgui.h“
#include 


char filename[100];
char subfilename[100];

void GetSubFileName( char subfilename[100]int ichar filename[100] );

IplImage* GetSubImage( IplImage* src CvRect rect)
{
IplImage* subImg=cvCreateImage( cvSize( rect.widthrect.height )
IPL_DEPTH_8U
3);
CvScalar s;

for( int row=1;row {
for( int col=1;col {
s=cvGet2D( srcrow+rect.ycol+rect.x );
cvSet2D( subImgrowcols );
}
}

return subImg;

}

void OutputLarger( IplImage* img CvRect face_rectchar savepath[100] )
{
CvPoint mid;
mid.x=face_rect.x+face_rect.width/2;
mid.y=face_rect.y+face_rect.height/3;
CvRect new_rect;
new_rect.x=face_rect.x-int(0.2*face_rect.width/2);//新矩形的x,y坐标往左上移动

if( new_rect.x<1 )
new_rect.x=1;

new_rect.y=face_rect.y-int(0.4*face_rect.height*(double(2)/3));

if( new_rect.y<1 )
new_rect.y=1;

new_rect.width=int(face_rect.width*1.2);
new_rect.height=int( face_rect.height*1.4 );
CvScalar s;

IplImage* subImg=cvCreateImage( cvSize( new_rect.widthnew_rect.height )
IPL_DEPTH_8U
3);

for( int row=1;row {
for( int col=1;col {
s=cvGet2D( imgrow+new_rect.ycol+new_rect.x );
cvSet2D( subImgrowcols );
}
}

cvSaveImage( savepathsubImg );


}

void GetSubFileName( char subfilename[100]int ichar filename[100] )
{
char tmp[]={‘0‘+i‘\0‘};
memset(subfilename0100);
strcpy(subfilename“sub“);
strcat(subfilenametmp );
strcat(subfilenamefilename);
}

CvHaarClassifierCascade* load_object_detector( const char* cascade_path )
{
    return (CvHaarClassifierCascade*)cvLoad( cascade_path );//现在分类器都存储在xml文件中,所以用load,再类型转换
}

void detect_and_draw_objects( IplImage* image
                              CvHaarClassifierCascade* cascade
                              int do_pyramids )
{
    IplImage* small_image = image;
    CvMemStorage* storage = cvCreateMemStorage(0);//默认大小的存储块是64kb
    CvSeq* faces;//OpenCv基础动态数据结构

    int i scale = 1;
 
    if( do_pyramids )//如果声明,则Gaussian金字塔向下采样把图像变小再做可以提高速度,但是精度不如用原始图像好
    {
        small_image = cvCreateImage( cvSize(image->width/2image->height/2) 
IPL_DEPTH_8U 3 );
        cvPyrDown( image small_image CV_GAUSSIAN_5x5 );//向下采样输出是原始图像的一半 ,先使用指定滤波器对输入图像进行卷积
//然后通过去除偶数的行与列向下采样图像
        scale = 2;
    }
else
{
//small_image = cvCreateImage( cvSize(image->widthimage->height  )IPL_DEPTH_8U3 );
small_image=image;
}

faces = cvHaarDetectobjects( small_image cascade storage 1.2 2
0/*CV_HAAR_DO_CANNY_PRUNING*/ );


    for( i = 0; i < faces->total; i++ )
    {
 
        CvRect face_rect = *(CvRect*)cvGetSeqElem( faces i );//序列,索引构成


/*
绘制简单、指定粗细或者带填充的 矩形 

void cvRectangle( CvArr* img CvPoint pt1 CvPoint pt2 CvScalar color
  int thickness=1 int line_type=8

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

     文件     843824  2006-10-18 21:49  faceidentifysys\cv100.dll

     文件     598067  2006-10-18 21:50  faceidentifysys\cvaux100.dll

     文件      49152  2006-10-19 17:16  faceidentifysys\cvcam100.dll

     文件    1011764  2006-10-18 21:49  faceidentifysys\cxcore100.dll

     文件     131133  2006-10-18 21:50  faceidentifysys\cxts001.dll

     文件       5974  2008-03-10 12:44  faceidentifysys\haarcascade.cpp

     文件       4210  2008-03-06 12:23  faceidentifysys\haarcascade.dsp

     文件        547  2007-03-07 20:41  faceidentifysys\haarcascade.dsw

     文件     208957  2008-03-10 12:44  faceidentifysys\haarcascade.exe

     文件      50176  2008-03-11 10:02  faceidentifysys\haarcascade.ncb

     文件      53760  2008-03-11 10:02  faceidentifysys\haarcascade.opt

     文件        960  2008-03-10 12:44  faceidentifysys\haarcascade.plg

     文件     946032  2005-03-16 19:18  faceidentifysys\haarcascade_frontalface_alt.xml

     文件     626741  2006-10-18 21:50  faceidentifysys\highgui100.dll

     文件      66058  2008-03-10 12:51  faceidentifysys\hu.JPG

     文件     196608  2006-02-28 18:04  faceidentifysys\libguide40.dll

     文件     249904  2006-10-18 21:50  faceidentifysys\ml100.dll

     文件      53214  2008-03-10 12:47  faceidentifysys\news.jpg

     文件      23333  2008-03-11 10:01  faceidentifysys\result.jpg

     文件       5121  2008-03-11 10:01  faceidentifysys\sub0hu.jpg

     文件       5125  2008-03-11 10:01  faceidentifysys\sub0news.jpg

     文件      48750  2008-03-11 10:01  faceidentifysys\sub0zhang.jpg

     文件       4817  2008-03-11 10:01  faceidentifysys\sub1news.jpg

    ..A.SH.      8192  2008-03-31 10:26  faceidentifysys\Thumbs.db

     文件      43848  2008-03-05 16:18  faceidentifysys\zhang.jpg

     文件     220936  2008-03-05 16:18  faceidentifysys\zhang1.jpg

     文件      19968  2008-03-11 13:55  faceidentifysys\输入格式.doc

     目录          0  1998-02-08 09:51  faceidentifysys

----------- ---------  ---------- -----  ----

              5477171                    28

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

评论

共有 条评论