资源简介
使用opencv自带的haarcascade_eye_tree_eyeglasses.xml分类器实现检测人眼,并精准地定位了瞳孔的位置。代码很简洁,易于理解。
![](http://www.nz998.com/pic/32594.jpg)
代码片段和文件信息
#include “highgui.h“
#include “cv.h“
#include
#include
using namespace std;
using namespace cv;
void DetectAndDraw(IplImage* img CascadeClassifier& cascade);
//String cascadeName = “haarcascade_frontalface_alt.xml“;
String cascadeName = “haarcascade_eye_tree_eyeglasses.xml“;//nestedCascadeName
int main( )
{
CascadeClassifier cascade;
cascade.load( cascadeName );
cvNamedWindow( “result“ 1 );
IplImage* iplImg = cvLoadImage(“1.jpg“);
DetectAndDraw( iplImg cascade );
cvWaitKey(0);
cvDestroyWindow(“result“);
return 0;
}
void DetectAndDraw(IplImage* img CascadeClassifier& cascade)
{
int i = 0;
double t = 0;
vector faces;
const static Scalar colors[] = { CV_RGB(00255)
CV_RGB(0128255)
CV_RGB(0255255)
CV_RGB(02550)
CV_RGB(2551280)
CV_RGB(2552550)
CV_RGB(25500)
CV_RGB(2550255)} ;
IplImage* gray = cvCreateImage(cvGetSize(img)81);
cvCvtColor( img gray CV_BGR2GRAY );
cvEqualizeHist( gray gray );
t = (double)cvGetTickCount();
cascade.detectMultiScale( gray faces
1.1 2 0
//|CV_HAAR_FIND_BIGGEST_object
//|CV_HAAR_DO_ROUGH_SEARCH
|CV_HAAR_SCALE_IMAGE
Size(30 30) );
t = (double)cvGetTickCount() - t;
printf( “detection time = %g ms\n“ t/((double)cvGetTickFrequency()*1000.) );
for( vector::const_iterator r = faces.begin(); r != faces.end(); r++ i++ )
{
Point center;
Scalar color = colors[i%8];
int radius;
//center可以作为瞳孔的坐标
center.x = cvRound(r->x + r->width*0.5);
center.y = cvRound(r->y + r->height*0.5);
//radius = (int)(cvRound(r->width + r->height)*0.25);
radius =2;
cvCircle( img center radius color 3 8 0 );
cvShowImage( “result“ img );
}
cvShowImage( “result“ img );
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 72704 2014-07-26 13:02 DetectEyes\Debug\DetectEyes.exe
文件 723476 2014-07-26 13:02 DetectEyes\Debug\DetectEyes.ilk
文件 1518592 2014-07-26 13:02 DetectEyes\Debug\DetectEyes.pdb
文件 163712 2014-07-25 14:59 DetectEyes\DetectEyes\1.jpg
文件 8194 2014-07-26 13:02 DetectEyes\DetectEyes\Debug\BuildLog.htm
文件 663 2014-07-25 20:19 DetectEyes\DetectEyes\Debug\DetectEyes.exe.em
文件 728 2014-07-25 20:19 DetectEyes\DetectEyes\Debug\DetectEyes.exe.em
文件 621 2014-07-26 13:02 DetectEyes\DetectEyes\Debug\DetectEyes.exe.intermediate.manifest
文件 198867 2014-07-26 13:02 DetectEyes\DetectEyes\Debug\DetectEyes.obj
文件 66 2014-07-26 13:02 DetectEyes\DetectEyes\Debug\mt.dep
文件 551936 2014-07-26 13:02 DetectEyes\DetectEyes\Debug\vc90.idb
文件 937984 2014-07-26 13:02 DetectEyes\DetectEyes\Debug\vc90.pdb
文件 1755 2014-07-26 13:02 DetectEyes\DetectEyes\DetectEyes.cpp
文件 4711 2014-07-25 20:19 DetectEyes\DetectEyes\DetectEyes.vcproj
文件 1413 2014-07-26 13:13 DetectEyes\DetectEyes\DetectEyes.vcproj.Wenbo-PC.Wenbo.user
文件 1095035 2013-01-28 08:17 DetectEyes\DetectEyes\haarcascade_eye_tree_eyeglasses.xm
文件 919871 2013-01-28 08:17 DetectEyes\DetectEyes\haarcascade_frontalface_alt.xm
文件 837462 2013-01-28 08:17 DetectEyes\DetectEyes\haarcascade_frontalface_alt2.xm
文件 3566592 2014-07-26 13:13 DetectEyes\DetectEyes.ncb
文件 896 2014-07-25 20:12 DetectEyes\DetectEyes.sln
..A..H. 10240 2014-07-26 13:13 DetectEyes\DetectEyes.suo
文件 755444 2014-07-26 13:06 DetectEyes\result.png
文件 1435 2014-07-26 13:12 DetectEyes\总结.txt
目录 0 2014-07-26 13:02 DetectEyes\DetectEyes\Debug
目录 0 2014-07-26 11:48 DetectEyes\Debug
目录 0 2014-07-26 13:22 DetectEyes\DetectEyes
目录 0 2014-07-26 13:19 DetectEyes
----------- --------- ---------- ----- ----
11372397 27
............此处省略0个文件信息
相关资源
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
- ImageWatch2019.vsix
评论
共有 条评论