摘 要: 使用Qt结合OpenCV设计了一款基于嵌入式的无线视频监控系统,该系统具备人脸检测和头像保存功能。系统采用C/S结构,在ARM开发板上搭建的Qt多线程Linux系统服务器用于采集和发送视频;用Qt结合OpenCV制作的客户端运行在PC上,提供监控功能。介绍了Qt的Linux系统环境设置与ARM移植、V4L2视频采集的过程以及如何用Qt多线程处理视频数据。测试结果表明,在WiFi环境下,系统可进行有效的实时监控。
关键词: 无线视频监控;Qt;OpenCV;人脸检测
0 引言
1 系统结构
2 服务器实现
2.1 Linux QT环境设置与ARM移植
本系统软件编程采用C/S模式,程序在PC Ubuntu环境下用Qt 4.7编写完成,分别用ARM、PC环境下的qmake编译器编译成可执行程序。如果统一采用PC环境下的qmake编译,服务器程序将无法在ARM上运行。这是由于ARM与PC的开发环境不同,可使用file指令来判断可执行程序的运行环境。Linux ARM版本的Qt环境配置流程如图3所示。
图4、5分别显示了人脸检测与头像保存的流程。通过目标函数调用人脸检测分类器在视频图像中找到包含人脸的矩形区域,用不同的颜色标识后返回矩形框序列[5]。头像保存是在人脸检测的基础上用cvSetImageROI()标识出头像区域,之后截取保存。
4 系统测试
在PC上编译服务器与客户端程序,通过串口将服务器可执行程序下载到ARM开发板上。在串口调试助手SecureCRT上输入扫描和连接WiFi的指令,并进行ping测试。确认WiFi环境可用后,在ARM上运行服务器程序,PC上运行客户端程序,测试结果如图6所示。

5 结论
参考文献
[1] 马毅.基于Linux的远程视频监控嵌入式系统的设计与实现[D].上海:上海交通大学,2001.
[2] 周宝余,臧雪柏.基于QT的无线多路视频监控系统[J].吉林大学学 (工学版),2011,41(增刊):204-207.
[3] BLANCHETTE J, SUMMERFIELD M. C++ GUI programming with Qt4(Second Edition)[M]. NJ: Prentice Hall in association with Trolltech Press, 2008.
[4] 陈峰,郭爽,赵欣.基于Qt和嵌入式的视频监控系统[J].通信技术,2011,44(10):109-111.
[5] BRADSKI G, KAEHLER A. Learning OpenCV: computer vision with the OpenCV library(First Edition)[M]. CA:O′Reilly Media Inc, 2008.
文章知识点与官方知识档案匹配,可进一步学习相关知识OpenCV技能树视频分析光流10930 人正在系统学习中 相关资源:丝柏人像美肤处理软件CPAC Imaging Pro 3绿化汉化破解版
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!