基于OpenCV的人脸检测与识别系统

摘 要:本论文以OpenCV图像处理库为基础,采用QT作为图形界面开发,具有人脸采集,图片训练,数据库管理及人脸识别等功能,并且使用光线补偿等方式提高识别率.

关 键 词:OpenCVQT人脸检测人脸识别

中图分类号:TP31文献标识码:A文章编号:1672-3791(2013)07(b)-0004-02

近年来计算机视觉技术在视觉领域中取得了飞速的发展,并在其他领域中得到了广泛的应用,人脸识别在图像处理与视频检索、视频监控、视频显示等方面占据着重要的位置.本文提出了基于OpenCV图像处理库的人脸检测与识别系统,通过分析人脸检测与识别的原理及方法设计了人脸检测与识别系统,该系统具有人脸采集,图片训练,数据库管理及人脸识别等功能,并且使用了光线补偿等方式更好的进行图像的处理和后期的识别.

1系统的运行流程图

该人脸检测与识别系统的处理流程如图1.

2系统详细设计及实现

2.1人脸定位模块

基于OpenCV的人脸检测中,先进行图像的采集,然后建立自适应模型并将该模型进行训练,使用XML文件保存该训练模型数据,有了这个模型后我们就可以从新使用新的模型来进行图片的对比,把当前的图片与该模型进行匹配得出的结果使用矩形进行标记,并在QT界面上画出该目标区域.

2.2人脸识别模块

人脸识别的流程为,从摄像头采集图片后对图片进行灰度化处理,分配PCA存储空间,再使用级联分类检测器对图片进行特征提取训练.提取出采集的人脸图片的特征,保存数据到facedata.xml文件.人脸识别的具体实现步骤和函数如下.

(1)得到一个32位的浮动图像.

IplImage*convertFloatImageToUcharImage(constIplImage*srcImg)

(2)保存源图片的所有特征向量.

voidFaceRec::storeEigenfaceImages()

(3)下载需要训练的数据,并将训练好的数据保存到xml文件中.

voidFaceRec::learn()

{szFileTrain等于"40.txt";//训练数据的路径

doPCA();//为人脸训练分配PCA空间

storeTrainingData();//将训练好的数据保存到xml文件中

if(SE_EIGENFACE_IMAGES)

{storeEigenfaceImages();//保存这些训练图片为一张位图}

(4)从摄像头中获取一帧图片.

intFaceRec::recFromFrame(IplImage*faceImage)


(5)从facedata.xml下载训练好的数据.

intFaceRec::loadTrainingData(CvMat**pTrainPersonNumMat)

(6)为图片分配PCA空间.

voidFaceRec::doPCA()

2.3光线补偿的模块

从摄像头对图像进行采集会受到设备的干扰及环境因素的影响,从而会使图像的色彩向某个固定的方向移动,例如色彩偏黄、变蓝、变黑等.系统为了消除图像的色彩偏差,需要对图像的RGB三个分量值进行线性调整.使用检测图像中亮度在前10%的像素(参考白),按公式计算出调整值.整幅图像的其他像素点的色彩值也都按这一调整尺度进行交换,通过这种技术可以更好的进行图像的处理和后期的识别.

在QT下通过增加菜单栏,在其顶部添加一子目录,将命名为“预处理”,并在其下方的属性栏中命名为“弹出”菜单,右击预处理则该选项会自动生成一个子菜单项,属性名为“光线补偿”,并在右下面的属性中把ID号设置为ID_READY_LIGHTERGTHNSATE,对应文件FaceDetect.Cpp中的函数recognize()实现,并在recFromFrame(IplImage*faceImage)中添加如下代码:

hDIBTempp等于gDib.CopyHandle(hDIB);

gDib.LightingComper(hDIB);

GlobalUnlock(hDIB);

Invalidate();

光线补偿通过对图像的RGB进行转换而使图片的光线变亮或变暗,函数LightingComper()是类facerecognize的一个目标函数.

2.4测试

3结语

基于OpenCV图像处理库的人脸检测与识别具有人脸采集,图片训练,数据库管理及人脸识别等功能,系统采用Linux作为开发工具,利用QT作为图形界面开发,使用面向对象的思想来编写图像处理模块,并把该模块的各个功能进行独立出来,建立各个独立的类,从而减少了程序之间的耦合性,增加了代码的可重用性和可移植性,系统运行流畅,有广泛的使用前景.

类似论文

大规模数据库移动人脸识别系统概述

摘 要:大规模数据库人脸识别平台以及由此拓展的移动人脸识别平台充分利用手持式终端带来的办公便捷性和移动性,以大规模人脸识别。
更新日期:2024-2-24 浏览量:34636 点赞量:9022

在线检测产品疵点系统的DSP实现

摘 要:为了提高出厂产品的质量,需要在生产线上对产品进行高速在线检测,该文采用基于机器视觉的检测系统来。
更新日期:2024-7-16 浏览量:94327 点赞量:20911

吉林省旅游品牌视觉识别系统建设

摘 要:旅游品牌的树立对于旅游景区的发展有着深远的影响,在旅游景区的同质化严重的现阶段,视觉设计。
更新日期:2024-4-11 浏览量:57259 点赞量:13508

计量检测数据库管理系统探究

摘 要 :面对计量部门的信息化管理的需求,开发使用计量检测数据库管理系统,实现计量部门的系统化操作和管理,使得企业满足用户的需。
更新日期:2024-4-5 浏览量:11462 点赞量:3969

一种车辆自动监测与识别系统的设计方案

摘 要 :通过对所设计的车辆自动监测与识别系统的组成、作用、原理进行分析,详细介绍了系统的图象采集、车牌定位、车。
更新日期:2024-7-6 浏览量:17165 点赞量:5689

面向入侵检测的知识库系统

摘 要 :随着计算机互联网的迅速发展,网络的安全问题越来越受到人们的重视,传统的加密和防火墙技术已不能。
更新日期:2024-12-17 浏览量:155332 点赞量:33124