这次的毕业设计是我在本科阶段接受的最后一次锻炼,同时也是检验我大学四年的学习成果的机会。在导师的指导和同学的帮助下,及时的完成了毕设的任务,同时还学习到了有关模式识别的知识,为我以后的研究生学习做出了铺垫。
该课题主要使用VC++6.0作为开发工具,opencv以及matlab作为辅助软件,使我更加的了解这些软件的使用,特别是了解了MFC框架技术的使用和用opencv做图像处理。使用了开发系统所必备的分析和模块设计的思想。该系统可以清楚的显示图像处理前以及处理后的图像,同时易于操作表达直观。我所做的系统是无人驾驶车道路识别的理论测试系统,能够很好的实现相应的功能。
2 开发环境及相关技术支持
2.1 概述
本章主要介绍基于视觉的交叉路口分析的实现所采用的MFC类框架,多文档界面以及进行图像处理所用到的opencv的简介,同时说明了opencvVC下的环境配置和相关操作以及介绍使用matlab生成exe文件的方法和目的。最后将介绍本软件的开发工具VC++6.0。文献综述
2.2 MFC类框架
MFC库是开发Windows应用程序的C++接口。在MFC中,类的命名都是用“C”字母口头,这是一种约定。安装完VC6.0后微软在安装目录下提供了部分MFC的源代码,我们可以从这里找出MFC程序运行的脉络。
窗口的生命周期包括以下几步:1、程序初始化过程中调用CreateWindow,给程序创建一个窗口并进行有关初始化的操作。2、在程序运行时,不断GetMessage从消息队列取得消息,如果是WM_QUIT,则传递0而结束循环,进而结束整个程序。3、DispatchMessage通过USER模块的协助,把消息分派至窗口函数,进行消息处理。4、循环2、3。5、当关闭窗口时,系统发送WM_CLOSE,DefWindowProc处理。6、DefWindowProc收到 WM_CLOSE消息后,调用DestroyWindow清楚窗口,其本身发送WM_DESTROY。7、 程序对WM_DESTROY调用PostQuitMessage。8、 PostQuitMessage发送WM_QUIT消息,结束消息循环 。