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

资源简介

OpenCV的PCA人脸识别

资源截图

代码片段和文件信息

//调试时,遇到cout、new这类特殊字符,按F10而不要用F11
#include           //char *itoa()
#include  
#include 
#include 
#include “opencv\cv.h“
#include “opencv\highgui.h“

using namespace std;
#define stdImgwidth 90
#define stdImgheight 120

int pFaceRectSeq_numtest=0; //训练样本数量
int pFaceRectSeq_numtrain=0;//测试样本数量

//标签文字设置
double hScale=0.5;
double vScale=0.5;
int lineWidth=1;
CvFont font;


void displayDetections(IplImage * pInpImgCvSeq * pFaceRectSeqchar * FileNameint n);
void ReconPca();//Pca算法识别
void loadImg_row(int pFaceRectSeq_numint n);//多个样本图像以行的形式存储到一个训练矩阵中,一个测试图像以行的形式存储到一个训练矩阵中
CvMat* TrainImgs_row=0;
CvMat* TestImg_row=0;


int main(int argcchar ** argv)
{
IplImage * pInpImg = 0;
IplImage * pInpImg2 = 0;
CvHaarClassifierCascade * pCascade = 0;
CvMemStorage * pStorage = 0;
CvSeq * pFaceRectSeq;



pStorage = cvCreateMemStorage(0);
pCascade = (CvHaarClassifierCascade * )cvLoad((“haarcascade_frontalface_default.xml“)000);

////picture的处理
pInpImg = cvLoadImage(“picture.jpg“CV_LOAD_IMAGE_COLOR);
if(!pInpImg||!pStorage||!pCascade)
{
cout<<“Initialization failed:“<
return 0;
}
pFaceRectSeq = cvHaarDetectobjects(pInpImgpCascadepStorage1.13CV_HAAR_DO_CANNY_PRUNINGcvSize(2020));
displayDetections(pInpImgpFaceRectSeq“picture.jpg“0);      

pFaceRectSeq_numtrain=pFaceRectSeq->total;
//photo的处理

pInpImg2 = cvLoadImage(“photo.jpg“CV_LOAD_IMAGE_COLOR);
if(!pInpImg2)
{
cout<<“Initialization failed:“<
return 0;
}
pFaceRectSeq = cvHaarDetectobjects(pInpImg2pCascadepStorage1.13CV_HAAR_DO_CANNY_PRUNINGcvSize(2020));
displayDetections(pInpImg2pFaceRectSeq“photo.jpg“1); 

pFaceRectSeq_numtest=pFaceRectSeq->total;

ReconPca();

if(pCascade) cvReleaseHaarClassifierCascade(&pCascade);
if(pStorage) cvReleaseMemStorage(&pStorage);

return 0;
}

void displayDetections(IplImage * pInpImgCvSeq * pFaceRectSeqchar * FileNameint n)//int n:区分picture和photo
{
char * DISPLAY_WINDOW =new char[30];  /*解决连接字符串时,FileName空间不够的问题*/
strcpy(DISPLAY_WINDOW“Haar Window“);

int i;
IplImage * dst = cvCreateImage(cvSize(stdImgwidthstdImgheight)pInpImg->depthpInpImg->nChannels);//pInpImg->depth应该归一化???
IplImage* dst2 = cvCreateImage(cvGetSize(dst) IPL_DEPTH_8U 1);//创建样本图像。注意:IPL_DEPTH_8U


cout<<“pFaceRectSeq->total: “<total<


for(i=0;i<(pFaceRectSeq?pFaceRectSeq->total:0);i++)
{
CvRect * r = (CvRect*)cvGetSeqElem(pFaceRectSeqi);
CvPoint pt1 = {r->xr->y};
CvPoint pt2 = {r->x+r->widthr->y+r->height};
//CvPoint pt3 = {r->x+r->width/4r->y+r->height/4};

char * names=new char[18];
itoa(i+1+30*nnames 10); 

cvRectangle(pInpImgpt1pt2CV_RGB(02550)340);
CvFont font;
cvInitFont(&fontCV_FONT_HERSHEY_COMPLEX hScalevScale0lineWidth);
        cvPutText (pInpImgnamespt1 &font cvScalar(255255255));


cvSetImageR

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

     文件     314334  2013-08-19 15:00  人脸识别\0.bmp

     文件      76086  2013-08-19 15:00  人脸识别\1.bmp

     文件       4537  2013-08-19 15:00  人脸识别\1.jpg

     文件      32694  2013-08-19 15:00  人脸识别\2.bmp

     文件       5159  2013-08-19 15:00  人脸识别\2.jpg

     文件      32694  2013-08-19 15:00  人脸识别\3.bmp

     文件       4830  2013-08-19 15:00  人脸识别\3.jpg

     文件      32694  2013-08-19 15:00  人脸识别\31.bmp

     文件       4920  2013-08-19 15:00  人脸识别\31.jpg

     文件      32694  2013-08-19 15:00  人脸识别\4.bmp

     文件       4745  2013-08-19 15:00  人脸识别\4.jpg

     文件      32694  2013-08-19 15:00  人脸识别\5.bmp

     文件       5532  2013-08-19 15:00  人脸识别\5.jpg

     文件       9589  2012-05-27 22:08  人脸识别\code.txt

     文件        266  2013-08-19 14:59  人脸识别\Debug\BscMake.command.1.tlog

     文件        446  2013-08-19 14:59  人脸识别\Debug\bscmake.read.1.tlog

     文件        284  2013-08-19 14:59  人脸识别\Debug\bscmake.write.1.tlog

     文件        770  2013-08-19 14:58  人脸识别\Debug\cl.command.1.tlog

     文件      25012  2013-08-19 14:58  人脸识别\Debug\CL.read.1.tlog

     文件        540  2013-08-19 14:58  人脸识别\Debug\CL.write.1.tlog

     文件    5917696  2013-08-19 14:59  人脸识别\Debug\facedection.bsc

     文件     566272  2013-08-19 14:59  人脸识别\Debug\facedection.exe

     文件        406  2013-08-19 14:59  人脸识别\Debug\facedection.exe.embed.manifest

     文件        472  2013-08-19 14:59  人脸识别\Debug\facedection.exe.embed.manifest.res

     文件        381  2013-08-19 14:59  人脸识别\Debug\facedection.exe.intermediate.manifest

     文件    1476180  2013-08-19 14:59  人脸识别\Debug\facedection.ilk

     文件         78  2013-08-19 14:59  人脸识别\Debug\facedection.lastbuildstate

     文件       3832  2013-08-19 14:59  人脸识别\Debug\facedection.log

     文件     366208  2013-08-19 14:58  人脸识别\Debug\facedection.obj

     文件    3132416  2013-08-19 14:59  人脸识别\Debug\facedection.pdb

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

评论

共有 条评论