搜档网
当前位置:搜档网 › 基于QT和OpenCV的人脸识别系统.doc

基于QT和OpenCV的人脸识别系统.doc

基于QT和OpenCV的人脸识别系统.doc
基于QT和OpenCV的人脸识别系统.doc

基于QT和OpenCV的人脸识别系统

The Face Recognition System Based on QT and OpenCV

by sununs11

关键词:ARM,QT,OpenCV,人脸识别,PCA

1 系统方案设计

1.1 引言

人脸是一个常见而复杂的视觉模式,人脸所反映的视觉信息在人与人的交流和交往中有着重要的作用和意义,对人脸进行处理和分析在视频监控、出入口控制、视频会议以及人机交互等领域都有着广泛的应用前景,因此是模式识别和计算机视觉领域持续的研究热点。

本系统在 FriendlyARM Tiny6410 开发板基础上,利用 OpenCV 计算机视觉库和 QT 图形库,通过普通的 USB 摄像头实现了自动人脸识别,准确率较高,方便易用。

1.2 系统总体架构

“人脸识别”大致可分为两个阶段:

1. 人脸检测搜索一幅图像,寻找一切人脸区域(此

处以绿色矩形显示),然后进行图像处理,清理脸部

图像以便于更好地识别。

2. 人脸识别把上一阶段检测处理得到的人脸图像与

数据库中的已知人脸进行比对,判定人脸对应的人

是谁(此处以白色文本显示)。

1.3 工作流程

系统运行时,自动从 USB 摄像头获取 YUV 格式的

图片,转换成QImage 格式并实时显示在LCD屏

上,再将其转换成IplImage 格式,利用OpenCV 的Haar Cascade Face Detector(也称为Viola-Jones 方法)进行人脸检测,得到一个矩形区域,截取该矩形区域图像进行直方图均衡化处理,进行训练或识别。

系统训练流程:

点击触摸屏上的按钮获取一帧图片,由训练者判断是否加入训练集。当训练集图片足够后,点击训练按钮,即使用 PCA 方法处理训练集中的人脸图片,生成 XML 文件。

系统识别流程:

点击触摸屏上的按钮,进入识别状态。得到上述的人脸区域图像后,读取XML 文件,使用PCA 方法将图像与数据库比对,若可信度超过阈值,则在屏幕上显示出人名。

摄像头可获取多幅图像以提高准确度和可靠性,我们采集多幅图像求可信度平均值与阈值比较,若可信度平均值大于阈值,则登录系统成功,通过串口发送信号并弹出对话框提示信息;若在规定时间内未登录成功,则记录访问者的人脸并提示登录失败。

2 系统原理与算法实现

2.1 基于 Haar 特征级联强分类器的人脸检测

多分类器级联结构是很多强分类器的组合,其结构如下图所示:

它是一种由粗到细的结构,其中每一层是 AdaBoost 算法训练得到的一个强分类器,都经过阈值调整,使得每一层能让全部正例样本通过,而拒绝很大一部分非人脸样本。

本作品使用 OpenCV 中的检测器,使用其自带的一个 XML 文件执行检测。

2.2 基于 PCA 方法的人脸识别

PCA 方法由 Turk 和 Pentlad 首先提出,它的基础就是 Karhunen-Loeve 变换(简称 KL 变换)。一幅人脸图像(假设为 50x50 像素)是一个 2500 维空间的数据点,我们利用 PCA 方法将所有人脸图像数据点投影到 PCA 子空间中进行降维和特征提取。

相对于欧式距离,利用马氏距离作为人脸图像间的距离识别效果较好,但由于本作品主要用于判断待测人脸是否为数据库中人脸,可信度的计算方法极为关键,而目前最好的可信度的计算方程是基于欧式距离的:

float confidence = 1.0f – sqrt( it→distance /

(float) (trainFacesNum * eigenVectorsNum) ) / 255.0f;

故本作品仍采用欧式距离。

OpenCV 的人脸检测器获取到人脸图像后,使用直方图均衡化进行图像的预处理,然后调用OpenCV 的库函数进行识别,用上述公式计算出待测人脸可信度。

3 系统测试

第 1~4 次测试中,人脸数据库中只有 ORL 数据库的四个人和 A 的人脸数据,此时 B、C 均为“陌生人”,只有 A 能登录系统。

第 5~9 次测试中,人脸数据库中增加了 B 的数据,此时只有 C 为“陌生人”,A、B 均可登录系统。

测试结果如下图:

测试序号误识别次数

识别帧数

平均可信

登录耗时(s)

人员编号

0.856

2

1

16

A

0.846

10

-

2

A

0.675

10

B

3

10

0.778

4

C

0.878

10

-

5

A

0.906

10

-

B

6

0.824

10

7

C

0.883

2

14

8

A

0.913

2

11

9

B

注:

1. 登录耗时指某人从坐到摄像头前,摆正角度到登录成功所用时间。

2. 识别帧数表示用于计算平均可信度的图像帧数,均由摄像头连续获取。

3. 系统的可信度阈值设为 0.85。

4 结语

本作品以友善之臂的Tiny6410 开发板为平台,使用普通的USB 摄像头,设计了一个自动人脸识别系统。系统实现了训练、识别人脸的功能,并在实验室环境下完成了测试。

经测试,使用者在未训练时无法登录系统,其可信度与人脸数据库中已有人员的可信度有一定差值,可以区分数据库内外人脸。使用者经过训练后即可登录系统。

利用摄像头可以连续获取图像的特性,本作品多次计算可信度取平均值的方法一定程度上提高了识别的可靠性。

当然,本作品仍有很多不足的地方,比如由于驱动程序不完善,单靠软件实现的图像采集速度较慢,导致实时性不高;以及未实现活体检测,存在使用主人照片登录系统的可能。

参考文献

[1]黄福珍,苏剑波,人脸检测[M],上海交通大学出版社

[2]Shervini Emami,Introduction to Face Detection and Face Recognition[EB/OL],https://www.sodocs.net/doc/f15172752.html,/faceRecognition.html

[3]Robin Hewitt,Seeing With OpenCV - A Five-Part Series,[EB/OL]https://www.sodocs.net/doc/f15172752.html,/opencv/servo_2007_series/index.html

[4]田捷,杨鑫,生物特征识别理论与应用[M],清华大学出版社

[5]vaibhav420,Face Recognition in C/C++ With Thesis,https://www.sodocs.net/doc/f15172752.html,/projects/facerec/

树莓派安装opencv

树莓派学习笔记——apt方式安装opencv 0.前言 本文介绍如何在树莓派中通过apt方式安装opencv,并通过一个简单的例子说明如何使用opencv。相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。通过apt方式安装没有自动生成opencv.pc文件,所以在编写makefile文件时不能直接使用pkg-config工具,而需要逐个指定opencv_core、opencv_imgproc 等动态链接库。 【相关博文】 【树莓派学习笔记——源代码方式安装opencv】 更多内容请参考——【树莓派学习笔记——索引博文】 1.安装opencv 开始之前进行必要的更新工作。 sudo apt-get update 安装opencv。 sudo apt-get install libcv-dev 安装过程比较缓慢,请耐心等待。 安装完成之后,opencv相关的头文件被安装到/usr/lib目录中,该目录是linux默认头文件查找路径。opencv的相关动态链接库被安装到/usr/lib目录中。这些动态链接库包括: 【opencv_calib3d】——相机校准和三维重建

【opencv_core】——核心模块,绘图和其他辅助功能 【opencv_features2d】——二维特征检测 【opencv_flann】——快速最邻近搜索 【opencv_highgui】——GUI用户界面 【opencv_imgproc】——图像处理 【opencv_legacy】——废弃部分 【opencv_ml】——机器学习模块 【opencv_objdetect】——目标检测模块 【opencv_ocl】——运用OpenCL加速的计算机视觉组件模块【opencv_video】——视频分析组件 2.简单示例 【C++】——通过代码载入一张图片,通过opencv把彩色图片转换为黑白图片,并把原图和转换后的图片输出到屏幕中。 [cpp]view plaincopy 1.#include 2.#include 3.#include 4.#include https://www.sodocs.net/doc/f15172752.html,ing namespace cv; https://www.sodocs.net/doc/f15172752.html,ing namespace std; 7.int main (int argc, char **argv) 8.{ 9. Mat image, image_gray; 10. image = imread(argv[1], CV_LOAD_IMAGE_COLOR ); 11.if (argc != 2 || !image.data) { 12. cout << "No image data\n"; 13.return -1; 14. } 15.

基于opencv的人脸识别程序-代码详解

#include "cv.h" #include "highgui.h" #include #ifdef _EiC #define WIN32 #endif static CvMemStorage* storage = 0; static CvHaarClassifierCascade* cascade = 0; void detect_and_draw( IplImage* image ); const char* cascade_name = "haarcascade_frontalface_alt.xml";//人脸检测分类器 int main( int argc, char** argv ) { CvCapture* capture = 0; IplImage *frame, *frame_copy = 0; int optlen = strlen("--cascade="); const char* input_name; if( argc > 1 && strncmp( argv[1], "--cascade=", optlen ) == 0 ) { cascade_name = argv[1] + optlen; input_name = argc > 2 ? argv[2] : 0; } else { cascade_name = "E:\毕业设计\智能机器人动态人脸识别系统\陈建州程序.xml";//分类器路径 input_name = argc > 1 ? argv[1] : 0; } cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 ); if( !cascade )//如果没有找到分类器,输出以下 { fprintf( stderr, "ERROR: Could not load classifier cascade\n" ); fprintf( stderr, "Usage: facedetect --cascade=\"\" [filename|camera_index]\n" ); return -1;

配置OpenCV+VS

配置OpenCV2.4.10 + Visual Studio 2010 一、安装OpenCV 1、双击OpenCV安装包,会提示解压到某个地方,推荐放到D:\Program Files\下,比如安装路径就写:D:\Program Files。 2、等一段时间,OpenCV2.4.10近3个多G的文件就解压到了D:\Program Files 下。其中,build里面是使用OpenCV2.4.10相关的文件,我们如果只是使用OpenCV2.4.10的话呢,就只用管build里面的内容。 二、安装Visual Studio 2010 1、右击Visual Studio 2010的压缩包,解压文件。在解压后的文件中找到autorun 应用程序, 2、点开autorun,弹出一下对话框,点击对话框中的“安装Microsoft Visual Studio

2010”. 3、如图所示下一步: 4、选中我已阅读许可条款,点击下一步

5、根据需要选择功能,安装路径,点击安装 6、几分钟之后,出现如图需要重新启动才能完成安装。大家记得保存好已打开的其他文件再重启。

7、电脑重启之后,安装程序自动出现,耐心等待安装。

8、四十分钟后,安装完成。 9、最后还会跳出这么一个对话框,直接点退出就可以了。到此,软件安装过程全部结束。成功了。打开软件就可以用了。

三、配置OpenCV2.4.10 和 Visual studio 2010 3.1、配置环境变量 3.1.1、【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:

[作业]OPENCV人脸识别

摘要 人脸检测主要是基于计算机识别的一项数字化技术,用以准确获取人的脸部大小和位置信息,在进行人脸检测时,突出主要的脸部特征,淡化次要的环境、衣着等因素。对于某些情况下,人脸检测也可以计算出人脸,如眼睛,鼻子和嘴等精确的微妙特征。由于在安全检测系统,医学,档案管理,视频会议和人机交互等领域人脸检测系统都有光明的应用前景,因此人脸检测逐渐成为了两个跨学科领域研究的热门话题:人工智能和当前模式识别。本文基于OpenCV视觉库具体的设计并开发了对数字图像中的人脸检测的程序,所采用的人脸检测的原理主要是分类器训练模式(Adaboost算法)提取Haar特征的方法。它在整个软件极其重要的作用,图像中人脸的准确定位和识别都受图像处理好坏的直接影响。本次所设计的软件在图像处理部分所采用的方法是基于Adaboost算法进行Haar特征的提取,在此之上加以通过积分图方法来获取完整的级联分类器结构,进行人脸检测时,OpenCV级联分类器通过Adaboost人脸检测算法进行训练,此后采用不同情况下的实验样本完成精确定位以及检测试验。经过代码的设计和调试,在最后的测试中针对数字图像进行的人脸检测和定位达到了较好的效果,提高了定位和识别的正确率。 关键词:人脸检测,AdaBoost,分类器,OpenCV

Abstract Face detection is mainly based on computer recognition of a digital technology,face size and location information to accurately obtain the person,during face detection, highlight the main facial features,dilute the secondary environment,clothing,and other factors.For some cases,face detection can also calculate a person's face,such as eyes, nose and mouth,and other subtle features accurate.Because in the field of human security detection systems,medical records management,video conferencing,and human-computer interaction face detection system has bright prospects,and therefore face detection is becoming a two interdisciplinary research fields hot topic:artificial intelligence and The current pattern recognition.This article is based.penCV vision library designed and developed specifically for digital image face detection process,the principles used face detection methods are mainly classifier training mode(Adaboost algorithm)to extract Haar features.It is in the vital role of the software,the image of the human face accurately locate and identify all that is good or bad a direct impact on the image processing.This software is designed image processing method used in part based Haar Adaboost algorithm to extract features,on top of this to be to get the full cascade classifier structure by integrating the diagram method for face detection,OpenCV cascade classifier is trained by Adaboost face detection algorithm,then the use of the experimental sample under different circumstances for accurate positioning and testing.Through design and debugging code,face detection and location in the final test for digital images to achieve better results and improve the accuracy of positioning and recognition. Keywords:face detection;AdaBoost;classifier;openCV

基于Opencv的人脸检测源程序(附详细使用说明)

基于Opencv的人脸检测程序 我的电脑上是用visual studio 2015,配置opencv2.4.9,visuanl studio加载opencv的方法百度上可以找到很多,按照要求配置好后以后进行一下操作: 第一步:新建win32应用程序的工程,在该工程以下程序复杂被覆盖win32的几行程序, #include"stdafx.h" #include"opencv2/objdetect.hpp" #include"opencv2/videoio.hpp" #include"opencv2/highgui.hpp" #include"opencv2/imgproc.hpp" #include #include using namespace std; using namespace cv; /** Function Headers */ void detectAndDisplay(Mat frame); /** Global variables */ String face_cascade_name = "haarcascade_frontalface_alt.xml"; String eyes_cascade_name = "haarcascade_eye_tree_eyeglasses.xml"; CascadeClassifier face_cascade; CascadeClassifier eyes_cascade; String window_name = "Capture - Face detection"; /** @function main */ int main(void) { VideoCapture capture; Mat frame; //-- 1. Load the cascades if (!face_cascade.load(face_cascade_name)) { printf("--(!)Error loading face cascade\n"); return -1; }; if (!eyes_cascade.load(eyes_cascade_name)) { printf("--(!)Error loading eyes cascade\n"); return -1; }; //-- 2. Read the video stream capture.open(-1); if (!capture.isOpened()) { printf("--(!)Error opening video capture\n"); return -1; }

opencv编写笔记

建工程步骤省略!!!!!! 1、项目—demo(自己取项目名称)属性---配置属性—VC++目录—包含目录:D:\opencv\opencv\build\include;) 2、配置属性—VC++目录—库目录:D:\opencv\opencv\build\x86\vc10\lib 3、链接器—输入—附加依赖项—添加一下这些(针对Debug调试): opencv_ml2410d.lib opencv_calib3d2410d.lib opencv_contrib2410d.lib opencv_core2410d.lib opencv_features2d2410d.lib

opencv_flann2410d.lib opencv_gpu2410d.lib opencv_highgui2410d.lib opencv_imgproc2410d.lib opencv_legacy2410d.lib opencv_objdetect2410d.lib opencv_ts2410d.lib opencv_video2410d.lib opencv_nonfree2410d.lib opencv_ocl2410d.lib opencv_photo2410d.lib opencv_stitching2410d.lib opencv_superres2410d.lib opencv_videostab2410d.lib ◆按F5运行,若出现这样的情况:无法找到系统文件,缺少…..demo.exe程序。则需 下载tbb41_20130314oss_win.zip ,将其解压后文件夹中包含的bin文件夹, 复制到D:\opencv\opencv\build\common\tbb里;若还不行,可关掉当前文件,重新建立新项目,再进行配置! ◆完成以后,计算机属性---高级系统设置—环境变量---选择path—双击—添加路径: D:\opencv\opencv\build\x86\vc10\bin;D:\opencv\opencv\build\common\tbb\ia32\vc 10

VS2013 中OpenCV2410 的配置及其他

1 2

Include Directories: C:\opencv\build\include Library Directories: C:\opencv\build\x86\vc12\lib 3 opencv_calib3d2410d.lib opencv_contrib2410d.lib opencv_core2410d.lib opencv_features2d2410d.lib opencv_flann2410d.lib opencv_gpu2410d.lib

opencv_imgproc2410d.lib opencv_legacy2410d.lib opencv_ml2410d.lib opencv_nonfree2410d.lib opencv_objdetect2410d.lib opencv_ocl2410d.lib opencv_photo2410d.lib opencv_stitching2410d.lib opencv_superres2410d.lib opencv_ts2410d.lib opencv_video2410d.lib opencv_videostab2410d.lib opencv_calib3d2410.lib opencv_contrib2410.lib opencv_core2410.lib opencv_features2d2410.lib opencv_flann2410.lib opencv_gpu2410.lib opencv_highgui2410.lib opencv_imgproc2410.lib opencv_legacy2410.lib opencv_ml2410.lib opencv_nonfree2410.lib opencv_objdetect2410.lib opencv_ocl2410.lib opencv_photo2410.lib

基于Opencv的视频人脸检测程序源代码(可运行)

1.打开Microsoft Visual Studio 2008,新建一个Win32控制台项目; 2.配置好项目的包含文件和库文件; 3.将……\OpenCV\data\haarcascades中的haarcascade_frontalface_alt.xml拷贝到所建项目的文件夹中; 4.然后添加代码: #include"stdafx.h" #include"cv.h" #include"highgui.h" #include int_tmain(int argc, _TCHAR* argv[]) { CvCapture* capture=0; /*初始化一个视频捕获操作。告诉底层的捕获api我想从Capture1.avi中捕获图片,底层api将检测并选择相应的解码器并做好准备工作*/ capture = cvCaptureFromFile( "F:\\1.avi"); //设置要读的视频(avi格式) static CvMemStorage* storage = 0; static CvHaarClassifierCascade* cascade = 0; cascade = (CvHaarClassifierCascade*)cvLoad("haarcascade_frontalface_alt.xml",0,0,0); if( !cascade || !capture ) return -1; storage = cvCreateMemStorage(0); /*创建一个窗口,用“Video”作为窗口的标识符*/ cvNamedWindow( "Video",1); /*如果初始化失败,那么capture为空指针,程序停止,否则进入捕获循环*/ if( capture ) { for(;;) { IplImage* frame = cvQueryFrame( capture ); IplImage* img = NULL; CvSeq* faces; if( !frame ) break; img = cvCloneImage(frame);

基于OpenCV的视频人脸识别系统的设计与实现

摘要 基于生物特征识别的身份认证方法和系统研究一直以来都是计算机图形学和模式识别领域研究的热点,其中,由于人脸的稳定性和可见性,针对人脸识别的算法研究和系统应用最为广泛,本文针对校园内实验室和宿舍安全管理需求,设计和实现了一套针对监控视频的基于OpenCV的人脸识别原型系统,开发语言选用C++,全文内容包括: (1)构建了基于OpenCV的视频人脸识别的技术框架。针对实验室和宿舍安全管理需要,构建了基于OpenCV的视频人脸识别的技术框架,能够完成基于视频的实时人脸识别和身份认定; (2)设计了基于OpenCV的视频人脸快速检测算法。人脸检测是人脸识别的前提,本文采用基于OpenCV的快速人脸检测算法实现视频图像中人脸的快速定位和提取; (3)设计了基于AdaBoost算法的视频人脸识别方法。应用AdaBoost算法实现了针对视频流的快速人脸定位和身份识别,能够实现实时身份认定。 系统基于.NET平台设计,使用C++语言进行实现,完成了基于视频的实时人脸身份认定。 关键词:人脸检测; OpenCV;人脸识别; C++; 1

Abstract Based on the research of identity authentication method and system of biometric recognition has been a hot research field of computer graphics, pattern recognition and the stability and visibility, the face, the algorithm research and system applications of face recognition is the most widely, according to the laboratory and dormitory safety management needs of the campus, designed and implemented. A face recognition system based on OpenCV in surveillance video, development language is C++, the main content of this thesis includes: (1)Constructed the technical framework for video based face recognition based on OpenCV. According to the laboratory and the dormitory safety management needs, establishes a framework for video based face recognition based on OpenCV, which can complete real-time face recognition and identity based on video identification; (2)Design of a fast face detection algorithm in video based on OpenCV. Face detection is the precondition of face recognition, this paper uses OpenCV fast face detection algorithm to locate face in video image and extraction based on;The design use application of OpenCV to provide strong support, based https://www.sodocs.net/doc/f15172752.html, platform design. (3)Design of video based face recognition method based on AdaBoost algorithm. Application of AdaBoost algorithm for fast face location and recognition of video stream, which can realize real-time identification. System based https://www.sodocs.net/doc/f15172752.html, platform design, implementation is carried out using C++ language, completed the real-time face identity recognition based on video Key word:Face detection;OpenCV;Face recognition;C++;

Visual Studio2012环境下配置OpenCV_v2.4.10的步骤

Visual Studio2012环境下配置OpenCV的步骤 2014/12/16 本文将针对Visual Studio2012环境下如何配置OpenCV做出说明,具体如下。 1.下载和安装OpenCV SDK 1.1资源下载 在OpenCV官网https://www.sodocs.net/doc/f15172752.html, SDK安装包。对应自己的操作系统,可以下载Windows,Linux/Mac和ios版本。目前官网已经给出OpenCV v3.0bata版本。本文中以OpenCV v2.4.10版本为例进行安装。(各个版本安装过程大体相同,后面将针对不同之处给出说明) 1.2资源安装 下载的OpenCV SDK的后缀名为exe,是一个解压安装程序。双击后会提示设置解压路径,推荐路径D:\Program Files。(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新建一个名为opencv的文件夹然后再解压,那是多此一举的事情)然后点击Extract按钮,进行安装。 2.环境变量和路径设置 打开计算机→属性→高级系统设置,在高级目录下单击环境变量按钮,打开环境变量设置对话框。

2.1用户变量设置 在用户变量(此处为lbs的用户变量中)添加两个变量。 新建opencv变量,变量值设置为D:\Program Files\opencv\build。 新建path变量,变量值设置为D:\Program Files\opencv\build\x86\vc11\bin。此处如果已存在path变量,仅需对其变量值修改就行,在后面加上上述路径,但需要用分号和前面的路径隔开(英文半角下的分号) 2.2系统变量设置 在原有的path变量中对变量值修改,在变量值的最后加上D:\Program Files\opencv\build\x86\vc11\bin路径,注意要使用英文半角下的分号和前面的路径隔开。 ※说明 (1)不论电脑是32位还是64位,上述路径中均以x86路径输入,因为创建的程序中默认是在使用win32编译器进行编译。 (2)路径修改后需要重启电脑才能生效。 3.工程项目属性设置 工程项目属性配置主要是指对Debug和Release环境下的工程属性进行修改(通过修改https://www.sodocs.net/doc/f15172752.html,er文件进行)。查阅相关资料,发现Visual Studio 2012中已经不再区分Debug和Release的https://www.sodocs.net/doc/f15172752.html,er文件,所以配置了Debug或Release中的任

opencvVS使用说明

1.打开opencv2.4.9.exe,指定安装位置(文件解压位置),解压后包含两个文件夹build、source,build文件夹中包含静态链接库文件和动态链接库文件,source文件夹包含opencv函数的源码以及训练好的分类器以及训练好的分类器。 (1)提取build文件夹下include文件夹备用(第12步使用); (2)提取build/x86/vc10目录下的bin文件夹、lib文件夹备用。(说明:x86文件夹中链接库文件是VS默认win32平台 下32位编译器,如果设置VS编译平台为64位则需要x64 文件夹的链接库;vc10文件夹的链接库对应VS2010开发平 台,vc11未知,vc12对应VS2012及以上的开发平台) 图1 opencv解压得到的两个文件夹图2 build文件夹include 图3 build/x86/vc10文件夹下bin、lib分别存放动态静态链接库文件

图4 source文件夹中data文件夹中的haarlike级联分类器、hog分类器、lbp分类器,主要对人脸、五官、微笑、行人等做分类检测 2.打开VS,新建一个Win32控制台应用程序 3.点击下一步然后去掉预编译头,选择空项目

4.点击完成,找到解决方案管理器,右键工程名

5.配置属性->VC++目录 6.在可执行文件目录编辑输入../bin 然后点击确定

7.在包含目录分别输入../include ../include/opencv ../inclide/opencv2 然后点击确定 8.在库目录输入../lib 然后点击确定

基于opencv的人脸检测界面开发

摘要 人脸检测(Face Detection)是一种在任意数字图像中找到人脸的位置和大小的计算机技术。它可以检测出面部特征,并忽略诸如建筑物、身体和其他任何东西。人脸检测技术不仅仅是人脸跟踪、人脸识别、表情识别等技术的重要条件,同时在人机交互、模式识别、视频检索、智能监控等领域也引起了广泛的重视。 在通过对人脸检测相关知识进行学习的基础上,本文首先对国内外的人脸检测发展进行了相关分析,阐述了本课题的研究背景及意义;第二章介绍基于Opencv实现人脸检测的相关方法和检测原理;第三章指出了基于QT平台,人脸检测界面如何开发,需要用到的相关技术知识和操作流程。第四章设计了基于opencv的人脸检测程序,采用了QT开发工具并结合opencv技术对程序界面进行设计实现。 关键词:人脸检测;QT开发;Opencv;

Abstract Face detection is a computer technology that identifies human faces in digital images. It can detect facial features and ignore something like buildings,bodies and any other things.Face detection technology is not just an important condition for face recognition, also attracting wide attention in the human-computer interaction, pattern recognition, video retrieval, intelligent monitoring and other fields. Firstly in this paper, through the study of relevant technology of face detection recognition, and face detection to identify relevant experience in the domestic and abroad are analyzed,indicating the background and the significance of the topic.Based on opencv,the second chapter introduces how to realize the design.Then the third chapter points out how to develop face detection’s interface based on the QT platform; The fourth chapter based on opencv face detection procedures, using opencv, the QT development tools,achieve the design. Key Words:Face detection; QT development; Opencv;

OpenCV 说明介绍

OpenCV3.0 Overview Gary Bradski Chief Scientist, Perception and AI at Magic Leap CEO, https://www.sodocs.net/doc/f15172752.html, Vadim Pisarevsky Principal Engineer, Itseez Grace Vesom Senior Engineer in 3D at Magic Leap Vincent Rabaud Perception Team Manager at Aldebaran Robotics

OpenCV at glance ?BSD license, 10M downloads, 500K+lines of code ?Huge community involvement, automated patch testing and integration process ?Runs everywhere Bindings: Python, Samples, Apps, SSE, NEON, IPP, OpenCL, CUDA, OpenCV4Tegra, … core, imgproc, objdetect … OpenCV HAL OpenCV face, text, rgbd, … OpenCV Contrib Java Solutions ?Find more at https://www.sodocs.net/doc/f15172752.html,(user) ?Or https://www.sodocs.net/doc/f15172752.html,(developer)

Recent Stats > 10M downloads NOTE: This is only for source forge. Many more downloads come from Git and many more come on Unix distros. ~200K downloads/month World wide Rated highly

基于OpenCV的人脸检测算法研究

第8卷第3期 2009年8月  淮阴师范学院学报(自然科学版)JOURNA L OF HUAIYIN TE ACHERS CO LLEGE (NAT URA L SCIE NCE E DITION ) V ol 18N o 13Aug.2009 基于OpenCV 的人脸检测算法研究 齐金山 (淮阴师范学院计算机科学与技术学院,江苏淮安 223300) 摘 要:介绍了一种开放源代码的计算机视觉类库OpenCv ,阐述了该软件的特点及结构,并对 其在Visual C ++2005开发环境下的配置作了详细的说明.然后提出了一个基于OpenCv 的人 脸检测算法.实验结果表明,该算法具有识别效果、实时性好,检测速度快的特点. 关键词:OpenC V ;人脸检测;I pIImage 中图分类号:TP391.41 文献标识码:A 文章编号:167126876(2009)0320216205  收稿日期:2009205222  作者简介:齐金山(19772),男,湖南株洲人,讲师,硕士,研究方向为数字图像处理. 0 引言 人脸的检测是一类具有很大挑战性的问题[1] ,其主要难点在于:人脸是一类高度非刚性的目标,存在相貌、表情、肤色等差异;人脸上可能会存在一些附属物如眼镜、胡须等;人脸的姿态变化万化,并且可能存在遮挡物;待检测图像性质的差异,比如:待检图像的分辨率、摄录器材的质量等.针对以上难点,各国的科研人员作了很多的研究,每年在国际国内的相关期刊和会议上都有大量的关于人脸检测的论文, 如Chellappa 、Zhao 等人分别于1995和2003年发表的两篇人脸识别的综述论文[2,3].人脸检测的算法也 很多,Boosting 算法[4]是其中的一种,但Boosting 算法十分复杂.本文提出了基于OpenC V 进行人脸检测 将比较容易实现,实验结果表明该算法具有识别效果好、实时性好、检测速度快的特点.1 OpenCv 简介 OpenC V (Open S ource C om puter Vision Library )是指Intel 计算机视觉库[5].它由一系列C 函数和少量 C ++类构成,实现了图像处理和计算机视觉方面的很多通用算法.OpenC V 主要用于对图像进行一些高级处理,比如说特征检测与跟踪、运动分析、目标分割与识别以及3 D 重建等.由于OpenCv 的源代码是完全开放的,而且源代码的编写简洁而高效,特别是其中大部分的函数都已经通过汇编最优化,以使之能高效而充分地利用英特尔系列处理芯片的设计体系,对于Pentium M MX 、Pentium 、Pentium HI 及Pentium 4这些处理器而言,OpenCv 的代码执行效率是非常高的,所以近年来在国外的图像处理相关领域中被广泛地使用,成为一种流行的图像处理软件. 111 OpenCv 的特点 相对于MAT LAB 等其它常用的图像处理软件来说,OpenCv 有其显著的不可比拟的优点,主要体现在如下几个方面: 1)OpenCv 是一个包含了超过300个C 函数的应用编程接口,它不依赖于外部库,既可以独立运行,也可在运行时使用其它外部库. 2)高性能:OpenCv 中所有的算法都是基于封装于IP L 的具有很高灵活性的动态数据结构,而且其中有一半以上的函数在设计及汇编时被Intel 公司针对其所生产的处理器优化. 3)提供了一些与诸如E iC 、Ch 、MAT LAB 等其它语言或环境的接口,这些接口在其安装完之后位于安装目录opener/interfaces 下. 4)开放性:不管对于商业的还是非商业的用途,OpenCv 都是完全免费的,其源代码完全开放,开发

《基于 OpenCV的人脸识别系统》

西安电子科技大学 人工智能学院暑期夏令营科研实践《基于OpenCV的人脸识别系统》 实践报告 姓名:XXX 学校:XXXX 院系班级:XXXXXXXXX 联系方式:XXXX

目录 1 项目背景 (1) 2 项目目标 (1) 3 项目方案 (2) 3.1 人脸采集 (2) 3.2 人脸训练 (3) 3.3 人脸识别 (4) 4 项目调试 (6) 4.1 采集调试 (6) 4.2 训练调试 (6) 4.3 识别调试 (7) 5实践总结 (8)

如何创造一个安全的、数字现代化的、智能化的宿舍门禁系统有着十分重要的意义。然而,在日常管理中我们经常会碰到这样的问题:外来人员混入宿舍带来的安全隐患、夏天未带校园卡而在公寓楼前苦等、宿舍出入口必须有人盯守、晚归被困公寓楼外等等。 在当今计算机普及与急剧增长的状况下,应该实施一些高效率的系统,不仅省钱,省事,而且便捷,针对以上情况,十分有必要建立一个全面、高效、人性化、智能的高校宿舍出入管理系统。 因此,做一个人脸识别系统就非常地有必要! 2 项目目标 本项目拟完成人脸采集、人脸训练和人脸检测与识别的功能。 人脸采集程序主要完成以下功能: 1. 建立新的文件夹:用户根据提示输入自己姓名的简称,程序会在工程目录下建立该用户的文件夹,用以存放拍摄的照片; 2. 打开摄像头和写入图像:调用笔记本摄像头,当P键按下时,显示当前帧的图像,经处理后,保存图像;当q键按下时,立即退出采集程序 3. 人脸检测与裁剪:在当前帧识别出人脸后将其裁剪至ORL人脸数据 库大小即92x112。 人脸训练程序主要完成以下功能: 1. CSV文件读取:CSV文件对应的图像数据和对应的标签; 2. 样本训练:包括ORL人脸数据库的样本和自己的样本。 人脸训练样本取自ORL人脸数据库,共40个人,每人10张照片。照片在不同时间、不同表情(睁眼闭眼、笑或者不笑)、不同人脸细节(戴眼镜或者不戴眼镜)下采集,所有的图像都在一个黑暗均匀的背景下采集的,正面竖直人脸(有些有轻微旋转)。此外,增加自己的样本,并以相同尺寸拍摄20张左右图像。 人脸识别与检测程序主要完成以下功能: 1. 人脸检测:识别出当前帧是否有人脸; 2. 人脸预测:根据训练结果判断当前帧中人脸是否属于样本集; 3. 姓名显示:若属于样本集则显示姓名缩写,否则,显示“0”。

opencv2.4.9在Hi3531开发板上移植

opencv2.4.9下载不用说了。 Ubuntu12.04虚拟机安装的+arm-hisiv200-linux交叉编译器+cmake-gui(2.8.7) 参考:https://www.sodocs.net/doc/f15172752.html,/luotuo44/article/details/8958990 https://www.sodocs.net/doc/f15172752.html,/s/blog_92942dba0101d1wj.html 一、建立编译环境配置 进入opencv-2.4.9目录建立release-hisiv200目录存放编译过程中文件。 #cd opencv-2.4.9 #mkdir release-hisiv200 #cd release-hisiv200 打开cmake-gui,进行博客中的配置:#cmake-gui 在configure时选择CMAKE_SYSTEM_NAME:arm-hisiv200-linux C:选择/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-gcc C++:选择/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-g++ 修改安装目录:CMAKE_INSTALL_PREFIX:/opt/2.4.9-arm-hisiv200 进行编译:make 二、出现问题: 1、/usr/lib/libImath.so: could not read symbols: File in wrong format

collect2: ld returned 1 exit status make[2]: *** [lib/libopencv_highgui.so] 错误1 make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 错误2 make: *** [all] 错误2 主要opencv编译OPENEXR时要用到libImath.so,所有我就把那个取消了,然后编译就没出现过这个问题。 蓝色的部分不要选,还有下面这个也别选: 蓝色的部分不要选,还有下面这个也别选:

相关主题