- 30
- 0
- 约4.59千字
- 约 7页
- 2017-06-13 发布于北京
- 举报
基于OpenCV的人脸识别设计方案[图]
( 2012/7/12 13:34 )
人脸识别的研究可以追溯到上个世纪六、七十年代,经过几十年的曲折发展已日趋成熟,构建人脸识别系统需要用到一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等 .而人脸识别在基于内容的检索、数字视频处理、视频检测等方面有着重要的应用价值,可广泛应用于各类监控场合,因此具有广泛的应用前景。OpenCV是Intel 公司支持的开源计算机视觉库。它轻量级而且高效--由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法,作为一个基本的计算机视觉、图像处理和模式识别的开源项目,OpenCV 可以直接应用于很多领域,其中就包括很多可以应用于人脸识别的算法实现,是作为第二次开发的理想工具。
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 *frame;CvCapture* cAMEra = 0;
camera = cvCaptureFromCAM( 0 );
cvSetCaptureProperty(camera,
CV_CAP_PROP_FRAME_WIDTH, 320 );
cvSetCaptureProperty(camera,
CV_CAP_PROP_FRAME_HEIGHT, 240 );
然后利用start()函数开启QTimer 定时器,每隔一段时间发送信号调用自定义的槽函数,该槽函数用cvGrabFrame()从视频流中抓取一帧图像放入缓存,再利用CvRetrieveFrame()从内部缓存中将帧图像读出用于接下来的处理与显示。在qt 中显示之前,需将IplImage* source 转换为QPixmap 类型。
uchar *qImageBuffer = NULL;
/*根据图像大小分配缓冲区*/
qImageBuffer = (uchar*) malloc(source-width *
source-height * 4 * sizeof(uchar));
/*将缓冲区指针拷贝到存取Qimage 的指针中*/
uchar *QImagePtr = qImageBuffer;
/* 获取源图像内存指针*/Const uchar*
iplImagePtr=reinterpret_cast(source-imageDat
a);
/*通过循环将源图像数据拷贝入缓冲区内*/
for (int y = 0; y source-height; ++y){
for (int x = 0; x source-width; ++x){
QImagePtr[0] = iplImagePtr[0];
QImagePtr[1] = iplImagePtr[1];
QImagePtr[2] = iplImagePtr[2];
QImagePtr[3] = 0;
QImagePtr += 4;
iplImagePtr += 3; }
iplImagePtr+=source-widthStep–3*source-width; }
/*将Qimage 转换为Qpixmap*/QPixmap local =
QPixmap::fromImage(QImage(qImageBuffer,source-wi
dth,source-height, QImage::Format_RGB32));
/*释放缓冲区*/
free(qImageBuffer);
最后利用QLabel 的setPixmap()函数进行显示。
3.2 图像预处理
由于大部分的脸部检测算法对光照,脸部大小
您可能关注的文档
- 坐地铁游香港之香港美食攻略.doc
- 坐标系统及投影变换在桌面产品中的应用.doc
- 坐骨神经痛中医治疗.doc
- 坚守个人干净这条底线.doc
- 坚定信心落实责任在工作会议上讲话.doc
- 坚定立场,加强学习,做1名优秀的共产党员.doc
- 坚持少年军校建设打造学校德育特色.doc
- 坚持真学真懂真信真用.doc
- 坛山第十周-六年级第2课时.doc
- 坤如专家简历详细版面.doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 智盛国际结算教学实训平台软件操作手册V3.0.pdf
- 2026年江西工业工程职业技术学院单招职业适应性测试题库含答案详解.docx VIP
- OpenClaw自我研究报告1.0.pdf VIP
- 05S804矩形钢筋混凝土蓄水池(建筑结构图集).pdf
- 中成药用药指导原则.pdf
- 医学课件-2025心肺复苏指南最新标准.pptx VIP
- 热电集中供压缩空气项目可行性研究报告写作模板-申批立项.doc
- 矿山开采中SimbaH1354(中深孔)台车故障诊断及规避.pdf VIP
- 吉林省长春市2026届高三年级质量检测化学(一)(长春一模)(含答案).pdf
- 2026年辅警招聘笔试考试题库及答案.docx VIP
原创力文档

文档评论(0)