• 大小: 13.93MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-08
  • 语言: C/C++
  • 标签: 人脸  特征点  OpenCV  

资源简介

OpenCV下人脸特征点检测,C++源代码,装了OpenCV可直接运行

资源截图

代码片段和文件信息

#include “cv.h“
#include “highgui.h“
#include 
#include 
#include “opencv2/core/core.hpp“
#include “opencv2/imgproc/imgproc.hpp“
#include “opencv2/highgui/highgui.hpp“

#include 
#include 
#include 

using namespace cv;
using namespace std;


CvHaarClassifierCascade* load_object_detector( const char* cascade_path )
{
    return (CvHaarClassifierCascade*)cvLoad( cascade_path );
}


/* takes image filename and cascade path from the command line */
int main()
{
    char *file = new char;
cout << “请输入图像路径:“< cin >> file;

IplImage* image;
image = cvLoadImage(file 3 );
        
CvHaarClassifierCascade* cascade_eye = load_object_detector(“haarcascade_eye_tree_eyeglasses.xml“);

CvHaarClassifierCascade* cascade_face = load_object_detector(“haarcascade_frontalface_alt2.xml“);
CvMemStorage* storage = cvCreateMemStorage(0); 
CvSeq* faces = cvHaarDetectobjects(image cascade_face storage 1.2 2 CV_HAAR_DO_CANNY_PRUNING );

int i;
for( i = 0; i < faces->total; i++ )
{
CvRect face_rect = *(CvRect*)cvGetSeqElem( faces i);
cvSetImageROI(imageface_rect);

int eye_left=0;
int eye_right=0;
int eye_hei=0;

///////////////////////////////////////////////////////////////////////////////////////////////////////
CvMemStorage* storage1 = cvCreateMemStorage(0); //创建动态内存
CvSeq* eyes;
int j;

eyes = cvHaarDetectobjects(image cascade_eye storage 1.2 2 CV_HAAR_DO_CANNY_PRUNING );
/* draw all the rectangles */
for( j = 0; j < eyes->total; j++ )
{
/* extract the rectanlges only */
CvRect eye_rect = *(CvRect*)cvGetSeqElem( eyes j);
cvSetImageROI(imagecvRect(face_rect.x+eye_rect.xface_rect.y+eye_rect.yeye_rect.widtheye_rect.height));

//记录眼球中点
if(j==0)
{
eye_left = face_rect.x + eye_rect.x + eye_rect.width/2;
eye_hei = face_rect.y + eye_rect.y + eye_rect.height;
}
else if(j==1)
{
eye_right = face_rect.x + eye_rect.x + eye_rect.width/2;
int temp = face_rect.y + eye_rect.y + eye_rect.height;
if(temp>eye_hei)
eye_hei = temp;
}


//检测眼睛区域内的瞳孔
IplImage* img = cvCreateImage(cvSize(eye_rect.widtheye_rect.height) IPL_DEPTH_8U 3);
IplImage* hue = cvCreateImage(cvSize(eye_rect.widtheye_rect.height) IPL_DEPTH_8U 1);
cvCopy(imageimg0);

//计算色相平面
int pq;
for(p=0;pheight;p++)
{
for(q=0;qwidthStep-1;q=q+3)
{
int rgbmax=0min=300;
b = ((uchar*)(img->imageData+p*img->widthStep))[q];
g = ((uchar*)(img->imageData+p*img->widthStep))[q+1];
r = ((uchar*)(img->imageData+p*img->widthStep))[q+2];
if(r {
min=r;
max=g;
}
else
{
min=g;
max=r;
}
if(b>max)
max=b;
if(b min=b

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

     文件     744960  2011-08-17 10:21  人脸特征点检测\Debug\opencv_calib3d231.dll

     文件    1243136  2011-08-17 10:10  人脸特征点检测\Debug\opencv_calib3d231d.dll

     文件     548352  2011-08-17 10:27  人脸特征点检测\Debug\opencv_contrib231.dll

     文件    1072640  2011-08-17 10:16  人脸特征点检测\Debug\opencv_contrib231d.dll

     文件    1717760  2011-08-17 10:17  人脸特征点检测\Debug\opencv_core231.dll

     文件    2335744  2011-08-17 10:08  人脸特征点检测\Debug\opencv_core231d.dll

     文件     879104  2011-08-17 10:20  人脸特征点检测\Debug\opencv_features2d231.dll

     文件    1554432  2011-08-17 10:10  人脸特征点检测\Debug\opencv_features2d231d.dll

     文件    7417192  2011-08-17 10:15  人脸特征点检测\Debug\opencv_ffmpeg.dll

     文件     396288  2011-08-17 10:19  人脸特征点检测\Debug\opencv_flann231.dll

     文件     838656  2011-08-17 10:09  人脸特征点检测\Debug\opencv_flann231d.dll

     文件     222208  2011-08-17 10:21  人脸特征点检测\Debug\opencv_gpu231.dll

     文件     436736  2011-08-17 10:11  人脸特征点检测\Debug\opencv_gpu231d.dll

     文件     892928  2011-08-17 10:20  人脸特征点检测\Debug\opencv_highgui231.dll

     文件    1441792  2011-08-17 10:09  人脸特征点检测\Debug\opencv_highgui231d.dll

     文件    1649664  2011-08-17 10:19  人脸特征点检测\Debug\opencv_imgproc231.dll

     文件    2324992  2011-08-17 10:09  人脸特征点检测\Debug\opencv_imgproc231d.dll

     文件     762880  2011-08-17 10:24  人脸特征点检测\Debug\opencv_legacy231.dll

     文件    1208320  2011-08-17 10:13  人脸特征点检测\Debug\opencv_legacy231d.dll

     文件     453120  2011-08-17 10:23  人脸特征点检测\Debug\opencv_ml231.dll

     文件     742912  2011-08-17 10:12  人脸特征点检测\Debug\opencv_ml231d.dll

     文件     558080  2011-08-17 10:21  人脸特征点检测\Debug\opencv_objdetect231.dll

     文件    1023488  2011-08-17 10:11  人脸特征点检测\Debug\opencv_objdetect231d.dll

     文件     567296  2011-08-17 10:22  人脸特征点检测\Debug\opencv_ts231.dll

     文件     884224  2011-08-17 10:11  人脸特征点检测\Debug\opencv_ts231d.dll

     文件     289792  2011-08-17 10:22  人脸特征点检测\Debug\opencv_video231.dll

     文件     451072  2011-08-17 10:11  人脸特征点检测\Debug\opencv_video231d.dll

     文件      51200  2012-05-17 11:40  人脸特征点检测\Debug\RayTracing.exe

     文件     531352  2012-05-17 11:40  人脸特征点检测\Debug\RayTracing.ilk

     文件    1240064  2012-05-17 11:40  人脸特征点检测\Debug\RayTracing.pdb

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

评论

共有 条评论