1。3。1 研究内容
本论文研究的主要内容是实现社区安保服务机器人的无线视频传输及终端显示控制。它包含了3个主要方面:
(1)调研、收集并分析安保机器人的相关资料,尤其是无线视频传输的资料,了解目前已有的无线视频传输方法,以及各自的优缺点,在这之后选取视频传输方案。
(2)研究已有的人脸检测方法以及各自的优缺点,选取合适的方法实现人脸检测。
(3)了解计算机网络通信的模式,选取合适的数据传输模型来完成安保机器人的远程控制操作。
1。3。2 研究方法
要实现终端软件的编写,必须要借助一个编程平台。我们可以考虑Qt或VC++,在对Qt与VC++功能即实用性进行对比后,发现对初学者来说Qt编写软件更为方便,也容易上手,并且Qt的功能更为强大,可以编写出更为美观的软件界面,所以选用Qt,在下一章会对Qt做简单介绍。
对于无线视频传输而言,它属于网络通信方面的内容。可以选用socket通信。考虑到本课题是实时传输,要保证传输的可靠性,所以可以基于TCP协议进行数据传输。综上所诉,就是利用socket通信中基于TCP协议的编程模型实现现场视频到终端的无线传输。
要实现对安保机器人的远程控制即在终端软件上发出控制信号,这也相当于进行数据通信。所以也可选用socket通信。因为终端只需要将信号发出,不考虑接收端接收数据的结果,所以可以基于UDP协议进行通信。综上所诉,就是利用socket通信中基于UDP协议的编程模型实现对机器人前进后退等运动的控制。
在视频中框出人脸即人脸检测,现有的方法有基于肤色的检测方法、基于统计理论的检测方法等。之后随着OpenCV的开发,图像视觉处理变的简单,所以可以利OpenCV中的库函数来完成人脸检测。文献综述
第二章 终端软件界面设计
2。1 Qt简介
Qt是一个跨平台的C++图形用户界面库,提供了精美的图形用户编程接口,由挪威TrollTech公司出品,目前含有包括Qt,基于Framebuffer的Qt Embedded,快速开发工具Qt Designer和国际化工具Qt Linguist等部分[10]。
Qt的优势如下:
(1)良好的跨平台特性
Qt支持下列操作系统:Microsoft Windows 95/98,Microsoft Windows NT,Linux,FreeBSD,BSD/OS,SCO,OS390,QNX等等。
(2)面向对象
Qt具有良好的封装机制,这一机制使得Qt的模块化程度非常高,并提高了代码的可重用性,对于软件开发者来说是非常方便的。
(3)丰富的API
Qt中封装了250多个C++类,还提供模板搜集,序列,I/O接口等实用性强的类。
(4)支持OpenCV图像处理。
(5) Qt有大量的帮助文档,为软件开发者提供了很大的便利。
(6)XML支持。
其中Qt最大的优势是它提供了信号与槽的编写方法,这是Qt编程的一大特色并且是用C++实现的。这一机制提供了对象间迅速安全的通信。Qt的ui界面上事件发生后会产生一个信号,软件开发者可以编写一个该事件的响应函数(称作一个槽),最为关键是要通过Qt中的connect函数建立这个信号和槽的连接,只有这样才能完成了一个事件和对该事件作出回应的代码的设计,十分简单方便。
2。2显示界面来.自^优+尔-论,文:网www.youerw.com +QQ752018766-
2。2。1视频显示界面
Qt中提供了大量的显示部件。在显示视频或图像时,应选用Display Widgets中的Label这个部件,它可以由用户自行调整大小。由于视频图像的分辨率是640*480,所以需要对Label进行设置,可以将Label的最大值和最小尺寸都设置为640*480,或者在程序中我们用ui->label->resize(640,480)这行代码进行设置。但考虑到视频接收时,Label大小的变化可能会覆盖软件界面的其他部件,就选用了第一种方法。