关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于OpenCV的人脸识别设计方案

基于OpenCV的人脸识别设计方案

作者:时间:2012-07-17来源:网络收藏

导读: 本文提出了一种在Linux平台下开发脸系统的,通过QT 来开发用户界面,调用图像处理库对相机进行采集和处理采集图像,从而实现了检测、身份、简单表情的功能。

本文引用地址:http://www.eepw.com.cn/article/160299.htm

识别的研究可以追溯到上个世纪六、七十年代,经过几十年的曲折发展已日趋成熟,构建识别系统需要用到一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等 。而人脸识别在内容的检索、数字视频处理、视频检测等方面有着重要的应用价值,可广泛应用于各类监控场合,因此具有广泛的应用前景。是Intel 公司支持的开源计算机视觉库。它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法,作为一个基本的计算机视觉、图像处理和模式识别的开源项目, 可以直接应用于很多领域,其中就包括很多可以应用于人脸识别的算法实现,是作为第二次开发的理想工具。

1 系统组成

本文的人脸识别系统在Linux 操作系统下利用QT库来开发图形界面,以OpenCV 图像处理库为基础,利用库中提供的相关功能函数进行各种处理:通过相机对图像数据进行采集,人脸检测主要是调用已训练好的Haar 分类器来对采集的图像进行模式匹配,检测结果利用PCA 算法可进行人脸图像训练与身份识别,而人脸表情识别则利用了Camshift 跟踪算法和Lucas–Kanade 光流算法。

2 搭建开发环境

采用德国Basler acA640-100gc 相机,PC 机上的操作系统是Fedora 10,并安装编译器GCC4.3,QT 4.5和OpenCV2.2 软件工具包,为了处理视频,编译OpenCV 前需编译FFmpeg,而FFmpeg 还依赖于Xvid库和X264 库。

3 应用系统开发

程序主要流程如图1 所示。


图1 程序流程(visio)

3.1 图像采集

图像采集模块可以通过cvCaptureFromAVI()从本地保存的图像文件或cvCaptureFromCam()从相机得到图像,利用cvSetCaptureProperty()可以对返回的结构进行设置:

IplImage *;CvCapture* cAMEra = 0;

camera = cvCaptureFromCAM( 0 );

cvSetCaptureProperty(camera,

CV_CAP_PROP__WIDTH, 320 );

cvSetCaptureProperty(camera,

CV_CAP_PROP__HEIGHT, 240 );

c++相关文章:c++教程


cvt相关文章:cvt原理


全息投影相关文章:全息投影原理

上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭