基于qt linux的视频监控,基于Qt和OpenCV的无线视频监控系统

摘  要: 使用Qt结合OpenCV设计了一款基于嵌入式的无线视频监控系统,该系统具备人脸检测和头像保存功能。系统采用C/S结构,在ARM开发板上搭建的Qt多线程Linux系统服务器用于采集和发送视频;用Qt结合OpenCV制作的客户端运行在PC上,提供监控功能。介绍了Qt的Linux系统环境设置与ARM移植、V4L2视频采集的过程以及如何用Qt多线程处理视频数据。测试结果表明,在WiFi环境下,系统可进行有效的实时监控。

关键词: 无线视频监控;Qt;OpenCV;人脸检测

0 引言

无线视频监控系统具有无需布线、安装简单、监控点灵活的优点。嵌入式监控设备占用空间小、价格低。Linux操作系统可裁剪,适合在嵌入式设备上使用[1]。本文在ARM-Linux系统上利用Qt和OpenCV技术,结合TCP/IP传输协议,开发了一款带有图像处理功能的低成本实时无线视频监控系统,具备人脸检测和头像保存功能。

1 系统结构

41a683e5d82d34f529f9d9630fd2eb66.png

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所示。

95d9fe330f141fb9a0536c71bcaede2a.png

图4、5分别显示了人脸检测与头像保存的流程。通过目标函数调用人脸检测分类器在视频图像中找到包含人脸的矩形区域,用不同的颜色标识后返回矩形框序列[5]。头像保存是在人脸检测的基础上用cvSetImageROI()标识出头像区域,之后截取保存。

4 系统测试

在PC上编译服务器与客户端程序,通过串口将服务器可执行程序下载到ARM开发板上。在串口调试助手SecureCRT上输入扫描和连接WiFi的指令,并进行ping测试。确认WiFi环境可用后,在ARM上运行服务器程序,PC上运行客户端程序,测试结果如图6所示。

e04e3cd14e3d1b7d1792ff59eb791e6c.png

5 结论

本文介绍了一种基于Qt和OpenCV的嵌入式无线视频监控系统。经过测试,该系统达到了预期的效果,实现了无线实时监控,其人脸检测与头像保存功能增强了监控的能力,解决了常规监控系统只显示画面不能对画面进行处理的问题。此外,系统性能稳定,成本低廉,具有广泛的应用前景。

参考文献

[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绿化汉化破解版

来源:weixin_39565910

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月10日
下一篇 2021年4月10日

相关推荐