基于嵌入式计算平台的机器人视觉信息处理与编程(4)
时间:2017-05-02 11:28 来源:毕业论文 作者:毕业论文 点击:次
对于一个完整的道路车辆检测系统,道路线的检测是其最重要的组成部分之一。只有精确的定位好道路线,才能保证车辆的安全行驶。 1.4道路车辆检测的研究现状 1.5道路车辆检测系统应用及意义 1.6本文主要研究工作 本文介绍了以下几方面的内容: 第一, 介绍了嵌入式系统的基本概念以及选择QNX的几点原因,同时还介绍了道路车辆检测系统发展背景,包括其研究现状、发展趋势及研究意义。 第二, 介绍了系统的开发环境和VC++的一些基础知识,以及Qt框架的理论。 第三, 介绍了该系统所涉及的原理,包括:Hough变换,Sobel边缘梯度算子,动态阈值,沈俊算子,并对用于车辆跟踪的Kalman算法进行了简单的阐述; 第四, 介绍了道路车辆检测系统的系统框架; 第五, 详细说明了我完成的系统模块的实现过程,包括界面设计以及车道线检测的具体实现,并且对实验结果进行了分析。 2 编程环境及相关知识介绍 2.1PlayBook NDK 2.0编程环境简介 Native SDK (NDK)提供一套 C 和C++ 的APIs,以及相应的开发环境,让开发者可以开发更为强大的应用 它提供整套本地API(Native API),用于访问、控制PlayBook的各种系统能力,包括屏幕显示,用户事件,重力感应设备,网络,等等。同时它还提供一个集成开发环境,可以方便地创建应用,编辑代码,编辑应用属性,编译和部署应用。并且它可以直接将应用部署到PlayBook模拟器或者是PlayBook真机上 内嵌的调试器,可以调试任意一行代码 。 相对于其他的开发环境,PlayBook NDK有着自己独特的优势。当应用对性能要求很高时(如3D游戏),应用无法用其他开发工具开发或者已有现成的C/C++项目时以及其它各种可能性都可以使用NDK解决,因为使用NDK可以完成一切任务。 2.1.1PlayBook NDK 应用架构: 图2.1 2.2 Qt基础知识 Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。Qt是面向对象语言,易于扩展,并且允许组件编程。2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。 2.2.1 Qt的优势 1.面向对象 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。 2.丰富的 API Qt包括多达 250多个的C++ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。 3.支持 2D/3D 图形渲染,支持 OpenGL 4.拥有大量的开发文档 5.XML 支持 6.Webkit 引擎的集成,可以实现本地界面与Web内容的无缝集成 但是真正使得 Qt 在自由软件界的众多 Widgets (如 Lesstif,Gtk,EZWGL,Xforms,fltk 等等)中脱颖而出的还是基于 Qt 的重量级软件 KDE 。 2.2.2 Qt基本框架 图2.22.2.3 Qt的窗口部件 2.2.4 Qt的信号与槽 信号与槽提供了对象间通信的机制。它们易懂易用,并且QT设计器能够完整支持。GUI程序能响应用户的动作。例如,当用户点击一个菜单项或工具栏按钮时,程序就会执行一些代码。更普遍地,我们需要各种各样的对象能够互相通信。程序员必须将事件与相关的代码关联起来。老的工具包使用一些不安全的(比如很容易崩溃),僵硬而呆板的并且非面向对象的机制。而Trolltech发明了一套叫做“信号与槽”的解决方案。信号与槽机制是一种能够完全取代传统工具包粗糙的回调和消息映射的强有力的对象间通信机制。这种机制既灵活,又面向对象,并且在C++中实现了。 (责任编辑:qin) |