教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 调查/报告> 人脸检测--创新实验结题书

人脸检测--创新实验结题书

上传者:罗海福
|
上传时间:2015-05-06
|
次下载

人脸检测--创新实验结题书

人脸检测--创新实验结题书---韩尚颖

编号:

内容需要下载文档才能查看

数学与计算科学学院

创新性实验结题报告书

实验题目: 单张照片人脸检测

实验成绩(教师填写):

学 院: 数学与计算科学学院

专 业: 信息与计算科学

学生姓名: 韩尚颖 1200710218

小组成员: 覃启霞 1200710211

指导教师: 王东

2014 年 07月 25日

人脸检测--创新实验结题书---韩尚颖

摘 要:

人脸检测在计算机视觉领域是一个很基础性技术,我们组使用了基于openCV的Viola-Jones分类算法的haar 分类器的刚性物体检测技术;首先,需要使用openCV的createsamples()和haartraining()函数来训练分类器,然后使用detect_and_draw()函数来进行人脸的检测和标记;本实验是在windows环境下使用win32 API和VC实现了人脸检测的基本功能。

关键词: 人脸检测 openCV windows平台 Viola-Jones分类算法 haar 分类器

一、实验目的及主要创新性点:

1、熟悉和掌握openCV(open source computer vision library开源的计算机视觉库),并通过它提供的一些集成函数来实现对照片或视频的处理;

2、实现照片的人脸检测,并且我们又加入了调用摄像头或者现成的视频文件进行人脸检测;

3、同时进一步掌握了VC和win32编程的技巧和方法。

二、实验要求:

1、 实现单张照片的人脸检测和标记;

2、 熟悉怎么使用Windows API函数设计窗口界面,实现人脸检测功能;

3、 了解Windows API 编程的方法与技能的;

4、 掌握VC和openCV的基础知识;

三、实验原理:

[一].人脸检测算法原理:Viola-Jones人脸检测方法

该算法的主要特征:

1.提出积分图像(integral image),从而可以快速计算Haar-like特征。

2.利用Adaboost学习算法进行特征选择和分类器训练,把弱分类器组 合成强分类器。

3.采用分类器级联提高效率。

[二].openCV检测原理

因为openCV中已经有预先训练好的一些物体识别文件(haar 分类器),所以我们组决定不在自己训练,因为这需要大量的经过处理的图片,任务过去繁重。

第二步,我们使用detect_and_draw()函数来识别、标记人脸,其中代码函数中有一个颜色向量的数组colors[],可以不同颜色标记人脸;分类器在灰度图上进行检测,所以RGB图首先通过cvCvtClolor()转化成灰度图,还可以用cvResize()调整大小,然

人脸检测--创新实验结题书---韩尚颖

后通过cvEqualizeHist()进行直方均衡;cvHaarDetectObjects()以不同的窗口扫描输入的图形寻找人脸,人脸检测会有多次重复,这里默认3次,我们才认为人脸确实存在,防止误检验。

主要步骤为:

1.加载分类器。

用cvLoad函数读入xml格式的文件。

2.读入待检测图像。读入图片、视频或者调用摄像头采集。

3.检测并标示人脸,显示人脸检测数目和用时。

四、实验内容与步骤(部分代码):

1、首先,在VS2010平台下建立win32 项目,设计基本对话框样式和功能按钮; (1)三个按钮:

btn[0] = CreateWindow(TEXT("button"),TEXT("单张照片识别"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,40,40,100,30,hWnd,(HMENU)0,hInstance,NULL);

btn[1] = CreateWindow(TEXT("button"),TEXT("摄像识别"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,40,80,100,30,hWnd,(HMENU)1,hInstance,NULL);

btn[2] = CreateWindow(TEXT("button"),TEXT("视频识别"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,40,120,100,30,hWnd,(HMENU)2,hInstance,NULL);

(2)显示人脸识别数和用时:

TextOut(hdc,250,180,TEXT("人脸识别用时(纳秒):"),11);

TextOut(hdc, 400,180, szText1, wsprintf(szText1, TEXT("%d"), ti)); TextOut(hdc,250,200,TEXT("人脸识别个数:"),7);

TextOut(hdc, 380,200, szText1, wsprintf(szText1, TEXT("%d"), fa));

2、编写对应按钮的功能函数,加入openCV函数;

const char* cascade_name =

"haarcascade_frontalface_alt2.xml";//Haar分类器

/* "haarcascade_profileface.xml";*/

(1)人脸检测标记函数

void detect_and_draw( IplImage* img )//人脸检测标记函数

{

static CvScalar colors[] = //一般用来存放像素值(不一定是灰度值哦)的 {

{{0,0,255}},//画圆的那个线条颜色

{{0,128,255}},

{{0,255,255}},

{{0,255,0}},

{{255,128,0}},

{{255,255,0}},

{{255,0,0}},

人脸检测--创新实验结题书---韩尚颖

{{255,0,255}}

};

double scale = 1.3;

IplImage* gray = cvCreateImage( cvSize(img->width,img->height), 8, 1 ); IplImage* small_img = cvCreateImage( cvSize( cvRound (img->width/scale),//对一个double型的数进行四舍五入,并返回一个整型数!

cvRound (img->height/scale)), 8, 1 );//缩放

int i;

cvCvtColor( img, gray, CV_BGR2GRAY );//颜色空间转换函数,可以实现RGB颜色向HSV,HSI等颜色空间的转换,也可以转换为灰度图像。

cvResize( gray, small_img, CV_INTER_LINEAR );//调整3通道图像(如RGB图像)和单通道图像的大小。

cvEqualizeHist( small_img, small_img );//用来使灰度图象直方图均衡化 cvClearMemStorage( storage );

if( cascade )

{

double t = (double)cvGetTickCount();//获取操作系统启动所经过(elapsed)的毫秒数

CvSeq* faces = cvHaarDetectObjects( small_img, cascade, storage, //用来检测图像中的目标

1.1, 2, 0/*CV_HAAR_DO_CANNY_PRUNING*/,//利用Canny边缘检测器 cvSize(20, 20) );

t = (double)cvGetTickCount() - t;

ti=((t/((double)cvGetTickFrequency()))/1000000.0);

fa=faces->total;

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 );

//画圆标记

}

}

cvWaitKey(0);

cvShowImage( "人脸检测结果", img );

cvReleaseImage( &gray );

cvReleaseImage( &small_img );

}

人脸检测--创新实验结题书---韩尚颖

//将TCHAR转为char

//*tchar是TCHAR类型指针,*_char是char类型指针

void TcharToChar (const TCHAR * tchar, char * _char)

{

int iLength ;

//获取字节长度

iLength = WideCharToMultiByte(CP_ACP, 0, tchar, -1, NULL, 0, NULL, NULL); //将tchar值赋给_char

WideCharToMultiByte(CP_ACP, 0, tchar, -1, _char, iLength, NULL, NULL); }

(2)照片识别

void picturetext (TCHAR a[])//照片识别

{

CHAR b[260];

TcharToChar(a,b);

//CvCapture* capture = 0;//视频摄像头

IplImage *frame, *frame_copy = 0;//图形结构

cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );

//导入分类器

storage = cvCreateMemStorage(0);

//创建内存空间

cvNamedWindow( "result", 1 );

const char* filename = (char*)b;

IplImage* image = cvLoadImage( filename, 1 );

if( image )

{

detect_and_draw( image );

cvWaitKey(0);

cvReleaseImage( &image );

}

else

{

/* assume it is a text file containing the

list of the image filenames to be processed - one per line */ FILE* f = fopen( filename, "rt" );

if( f )

{

char buf[1000+1];

while( fgets( buf, 1000, f ) )

{

int len = (int)strlen(buf);

while( len > 0 && isspace(buf[len-1]) )

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注

医药期刊杂志
核心期刊:《泰山医学院学报》杂志征稿函
陕西卫生职称评审认可的中文生物医学期刊目录
交友与婚姻[新版]
《羞辱》图文流程攻略Dishonored-游戏攻略
分手看透一个人的丑陋-现代快报
?狠男作家”曾子航:做一位“三不”狠女人
《国王的恩赐:戎装公主》后期黑骑士单挑无损详细攻略KingsBountyArmoredPrincess-游戏攻略
会议小游戏大全
毕业小论文规定期刊
职场女性可“向前一步”,尽男人所不能
2007年中华医学会系列19种杂志喜获中国科协精品科技期刊工程项目资助
《中国癌症杂志》上升为复旦大学A类期刊
广州开发区萝岗区“爱的传递”情缘交友活动登记表(女)
手机java游戏破解全攻略[资料]
游戏王8攻略
New Gear Software - Gear Technology magazine - journal …:新的齿轮软件-齿轮技术杂志期刊…
多点赞少差评爱情不见得就有正能量-扬子晚报
幸福不是毛毛雨
核心期刊目录
[精彩]幸福09827
婚姻里的形式主义其实很甜蜜-长江日报
《视听》杂志征稿 月刊 省级各项文化事业类期刊
第一版职场新鲜事
高职教育资讯
魔镜魔镜告诉我爱情哪里最可怕-扬子晚报
结婚前一定要想好的事-中国妇女报
?创全国知名的品牌文学期刊 《创作》杂志推出网络版
一路走来,我辜负了三个好女人-扬子晚报
爱倦怠了,才会心猿意马-扬子晚报

网友关注视频

《小学数学二年级下册》第二单元测试题讲解
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,湖北省
外研版英语三起6年级下册(14版)Module3 Unit2
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
外研版英语三起5年级下册(14版)Module3 Unit1
沪教版牛津小学英语(深圳用) 四年级下册 Unit 8
30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
苏科版数学 八年级下册 第八章第二节 可能性的大小
冀教版英语三年级下册第二课
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,辽宁省
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,江苏省
小学英语单词
沪教版牛津小学英语(深圳用) 五年级下册 Unit 10
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
二年级下册数学第三课 搭一搭⚖⚖
七年级英语下册 上海牛津版 Unit3
外研版英语三起6年级下册(14版)Module3 Unit1
外研版英语七年级下册module1unit3名词性物主代词讲解
三年级英语单词记忆下册(沪教版)第一二单元复习
北师大版数学 四年级下册 第三单元 第二节 小数点搬家
人教版历史八年级下册第一课《中华人民共和国成立》
北师大版数学四年级下册3.4包装
河南省名校课堂七年级下册英语第一课(2020年2月10日)
化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
北师大版数学四年级下册第三单元第四节街心广场