基于VC的图像采集与人脸定位门禁控制系统(6)
西安工业大学北方信息工程学院毕业设计(论文)
图5.4.1
创建以下win32 console application程序进行测试。 #include
int main(int argc, char *argv[]) {
IplImage *img = cvLoadImage(\ cvNamedWindow(\ cvShowImage(\
17
西安工业大学北方信息工程学院毕业设计(论文)
cvWaitKey();
cvDestroyWindow(\ cvReleaseImage(&img); return 0; }
如果能够编译链接成功,则说明配置成功。 编译成功后开始创建工程步骤如下:
1.打开Visual C++ 6.0,创建一个“Win32 Console Application”类型的工程,工程名称取“test”,单击“确定”,然后单击“完成”,结束应用程序创建。 2.
将
?\\OpenCV\\data\\haarcascades
目
录
下
的
数
据
文
件
haarcascade_frontalface_alt.xml复制到工程目录文件夹中。其中,?\\OpenCV为OpenCV的安装目录,数据文件haarcascade_frontalface_alt.xm为人脸检测时所用到得分类器。 3.源程序代码如下: /*test.cpp文件完整代码*/ #include \#include \#include \#include
static CvHaarClassifierCascade* cascade = 0; static CvMemStorage* storage = 0;
void detect_and_draw( IplImage* image ); const
int _tmain(int argc, _TCHAR* argv[]) {
cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0,
char*
cascade_name
//人脸检测要用到的分类器
=\
18
西安工业大学北方信息工程学院毕业设计(论文)
0 ); //加载人脸检测所用的分类器
if( !cascade ) {
fprintf( stderr, \Could not load classifier cascade\\n\); return -1; } storage
=
//动态存储结构,用来存储人脸在图像中的位置 cvNamedWindow( \ //const
char*
filename
=
//待检测图像(包含绝对路径)
const char* filename = \景甜.jpg\
image
=
cvLoadImage(
image
filename,
1
IplImage* //加载图像
detect_and_draw( //对加载的图像进行检测 cvWaitKey(0);
cvReleaseImage( &image ); cvDestroyWindow(\ return 0; }
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}},
19
cvCreateMemStorage(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),
cvRound (img->height/scale)), 8, 1 );
cvCvtColor( img, gray, CV_BGR2GRAY );
cvResize( gray, small_img, CV_INTER_LINEAR ); cvEqualizeHist( small_img, small_img ); cvClearMemStorage( storage );
if( cascade ) {
/*函数cvHaarDetectObjects检测图像中的目标,由OpenCV提供。*/ CvSeq* faces = cvHaarDetectObjects( small_img, cascade, storage, 1.1, 2, 0 ,
cvSize(30, 30) ); for( int 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 ); } }
cvShowImage( \
20
西安工业大学北方信息工程学院毕业设计(论文)
cvReleaseImage( &gray );
cvReleaseImage( &small_img ); }
/* stdafx.h文件完整代码*/
// stdafx.h : 标准系统包含文件的包含文件, // 或是经常使用但不常更改的 // 特定于项目的包含文件 //
#pragma once
#define WIN32_LEAN_AND_MEAN #include
// TODO: 在此处引用程序需要的其他头文件
/* stdafx.cpp文件完整代码*/
// stdafx.cpp : 只包括标准包含文件的源文件 // FaceDetection.pch 将作为预编译头 // stdafx.obj 将包含预编译类型信息
#include \
// TODO: 在 STDAFX.H 中
// 引用任何所需的附加头文件,而不是在此文件中引用
4.编译工程
在编译前,将要进行人脸检测的图片放到工程目录下,图片的名称要与代码中的名称对应。如:const char* filename = \待检测图像(包含绝对路径)
21
// 从 Windows 头中排除极少使用的资料
…… 此处隐藏:981字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




