嵌入式图像处理.docx
《嵌入式图像处理.docx》由会员分享,可在线阅读,更多相关《嵌入式图像处理.docx(41页珍藏版)》请在冰豆网上搜索。
![嵌入式图像处理.docx](https://file1.bdocx.com/fileroot1/2022-12/6/143870de-fac0-4f23-b87d-1f4fbbe00cf0/143870de-fac0-4f23-b87d-1f4fbbe00cf01.gif)
嵌入式图像处理
武汉工程大学
计算机科学与工程学院
综合设计报告
设计名称:
智能系统应用综合设计
设计题目:
基于颜色识别的机器人小车行动控制
学生学号:
专业班级:
学生姓名:
学生成绩:
指导教师(职称):
课题工作时间:
(2015-9-14~2015-12-11)
说明:
1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
答辩记录表
学生姓名:
学号:
班级:
答辩地点:
答辩内容记录:
答辩成绩
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
答辩小组成员(签字):
年月日
成绩评定表
学生姓名:
学号:
班级:
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时表现
10
10
按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。
完成情况
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
10
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清楚,综述分析充分。
5
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
5
符号统一;图表完备、符合规范要求。
5
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
5
参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩
指导教师评语
指导教师:
(签字)日期:
年月日
一、综合设计目的、条件、任务和内容要求:
基于颜色识别的机器人小车行动控制
1实验目的:
掌握图像处理基本算法、单片机系统的设计,通过训练熟悉机器人原理及图像控制的方法。
2条件:
要求使用VC,opencv、单片机等
3任务:
通过获取摄像机获取颜色图像,将颜色信息采集并处理,根据颜色特征进行机器人小车的各个方向的运动控制。
4内容要求:
要求上位机程序,单片机程序;
二、进度安排:
2015/10/15
掌握嵌入式基础,了解C51基础知识
2015/10/29
深入学习嵌入式知识
2015/11/12
复习图像处理知识,学习机器视觉基础概念
2015/11/26
完成由上位机和下位机组成的智能系统
2015/12/10
完善程序,优化设计,进行答辩
三、应收集资料及主要参考文献:
[1]秦志强.机器人辅助C程序设计[M].北京:
电子工业出版社,2013.
[2]曾显栓.嵌入式系统在多通道髙速数据采集器中的应用[D].哈尔滨:
哈尔滨工程大学,2007.
[3]孟庆春.智能机器人及其发展[J].中国海洋大学学报,2004(9),34(5).
[4]李磊,叶涛,谭民.移动机器人技术研究现状与未来机器人[J].机器人,200224(5).474-480.
[5]楼然苗,李光飞.51单片机设计实例[M].北京:
北京航空航天大学出版社,2005.
[6]何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:
北京航空航天大学出版社,1999
[7]王占全,徐慧.VisualC++数字图像处理技术与工程案例[M].北京:
人民邮电出版社,2009.
[8]陈胜勇,刘盛.基于OpenCV的计算机视觉技术实现[M].北京:
科学出版社,2008.
四、综合设计(课程设计)摘要(中文):
传统智能寻迹小车主要采用红外光电管实现路面轨迹识别,具有使用寿命短,视野范围不宽,易受地面颜色、平整度等因素影响而导致轨迹识别不准确等缺点。
论文提出了一种基于图象识别的智能寻迹方案,采用摄像头对道路图象信息进行采集,利用STM32处理器对采集信息进行处理,完成轨迹识别与小车行进控制。
方案选择CMOS黑白摄像头,增加了小车前瞻距离,丰富了道路信息采集,提高了寻迹精度。
在系统设计中采用PID经典控制算法,实现了对直流电机的速度和方向的精确控制,使小车寻迹准确、运行稳定。
最后对论文内容进行了总结,对寻迹小车未来的研究和发展进行了展望,对工业寻迹小车的实现提出了相关建设性意见。
五、综合设计(课程设计)Abstract(英文):
Traditionalintelligenttracingcarmainlyadoptsinfraredphotocellsensortorealizetherecognitionofroadtrack,butsamplingpointsareless,andmeasurementresultsareinfluencedbyfactorssuchasgroundcolor,smoothness,sopathidentificationisnotaccurate.Paperputsforwardatracingschemebasedonimagerecognition,itimprovedthecarforwarddistance,greatlyenrichedthewaytocollectinformation.Inordertoreducethecostofhardwaresystem,wechooseCMOSblackandwhitecameraspecially,thecamera’simageinformationdataquantityisless,lowpowerconsumption.AndPIDalgorithmwasadoptedtorealizetheaccuratecontrolofDCmotorspeedanddirection,makeintelligenttracingcarmorestable.Finally,thethesissummarizesthecontents,andIputforwardsomeconstructiveSuggestionsaboutrealizationoftracingthecarindustryandmadeaprospectforthefutureresearchanddevelopment.
摘要
传统智能寻迹小车主要采用红外光电管实现路面轨迹识别,具有使用寿命短,视野范围不宽,易受地面颜色、平整度等因素影响而导致轨迹识别不准确等缺点。
论文提出了一种基于图象识别的智能寻迹方案,采用摄像头对道路图象信息进行采集,利用STM32处理器对采集信息进行处理,完成轨迹识别与小车行进控制。
方案选择CMOS黑白摄像头,增加了小车前瞻距离,丰富了道路信息采集,提高了寻迹精度。
在系统设计中采用PID经典控制算法,实现了对直流电机的速度和方向的精确控制,使小车寻迹准确、运行稳定。
最后对论文内容进行了总结,对寻迹小车未来的研究和发展进行了展望,对工业寻迹小车的实现提出了相关建设性意见。
关键词:
智能小车;图像识别;小车轨迹识别
Abstract
Traditionalintelligenttracingcarmainlyadoptsinfraredphotocellsensortorealizetherecognitionofroadtrack,butsamplingpointsareless,andmeasurementresultsareinfluencedbyfactorssuchasgroundcolor,smoothness,sopathidentificationisnotaccurate.Paperputsforwardatracingschemebasedonimagerecognition,itimprovedthecarforwarddistance,greatlyenrichedthewaytocollectinformation.Inordertoreducethecostofhardwaresystem,wechooseCMOSblackandwhitecameraspecially,thecamera’simageinformationdataquantityisless,lowpowerconsumption.AndPIDalgorithmwasadoptedtorealizetheaccuratecontrolofDCmotorspeedanddirection,makeintelligenttracingcarmorestable.Finally,thethesissummarizesthecontents,andIputforwardsomeconstructiveSuggestionsaboutrealizationoftracingthecarindustryandmadeaprospectforthefutureresearchanddevelopment.
Keywords:
Intelligentcar;Imagerecognition;Recognitionofcar’strace
第一章绪论
1.1课题背景
随着物联网概念的提出,相关的技术正在飞速发展,智能系统的应用也越来越多。
物联网(Internetofthings)是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。
物联网即物物相连的互联网,通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。
物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。
物联网主要是利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。
物联网是互联网的延伸,它包括互联网及互联网上所有的资源,兼容互联网所有的应用,但物联网中所有的元素(所有的设备、资源及通信等)都是个性化和私有化。
作为物联网的重要分支,智能系统(Intelligencesystem),是指能产生人类智能行为的计算机系统。
智能系统不仅可自组织性与自适应性地在传统的诺依曼的计算机上运行,而且也可自组织性与自适应性地在新一代的非诺依曼结构的计算机上运行。
“智能”的含义很广,其本质有待进一步探索,因而,对:
“智能”这一词也难于给出一个完整确切的定义,但一般可作这样的表述:
智能是人类大脑的较高级活动的体现,它至少应具备自动地获取和应用知识的能力、思维与推理的能力、问题求解的能力和自动学习的能力。
在本次课题中,将利用物联网与智能系统相结合的方法,完成一个基于颜色识别的机器人小车行动控制系统。
利用串行通讯接口,实现单片机与PC机的数据通讯,初步完成一个智能系统雏形,使各行各业的人们可以充分享有计算机强大的数据处理和管理功能以及单片机系统的数据采集和设备控制的优势。
1.2目的与意义
随着计算机技术尤其是单片微型机技术的发展,人们已经越来越多地采用单片机来对一些工业控制系统如温度、流量和压力等参数进行检测和控制。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
因此如何实现PC机与单片机之间的通讯具有非常重要的现实意义。
计算机与计算机或计算机终端之间的数据传送可以采用串行通讯和并行通讯两种方式。
由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
在串行通讯时,要求通讯双方都采用一个标准接口。
使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串口通讯接口。
它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
随着科学技术的发展,单片机技术已经历了近20年的发展,在过去20年的发展过程可以看出,凭借单片机技术开发的微处理器(MPU)和超大规模集成电路为其发展拉动了广泛的应用范围。
单片机已被广泛应用于工业控制,用以完成各项规定任务,实现集中管理。
但另外一面,由于单片机的计算能力有限,很难处理复杂的数据,因此在具有繁多功能的控制系统中,普遍采用采用上,下位机系统,单片机被使用为下位机系统用来采集数据和控制设备,而使用PC为上位机系统来处理复杂数据和控制单片机。
这两者的结合,使单片机的应用不只是限制于自动监测或控制,而是进一步呈现出全面且多点的发展趋势,具有更好更光明的前景,是今天电子领域的重要组成部分。
标准51系列单片机都有串行通讯接口,其工作方式为全双工模式,通过此串行通讯接口,可以使之有效地与PC机和其他单片机系统取得数据通讯,串口在单片机系统中有着举足轻重的地位,单片机采集的实时数据正是通过串口才传输至计算机,而计算机发布的控制命令也是经由串口方可实现对单片机系统的智能控制与管理。
串口的这种作用,使系统趋于完美,强大,工作效率更加高效。
第二章系统概述
2.1系统整体设计
本课题主要完成一个基于颜色识别的机器人小车行动控制系统,通过串口通讯实现PC机与单片机的连接,PC机驱动摄像头获取图像,处理后转换为控制信号发送给单片机,单片机接收到信号后立即执行指令,进行移动,如图2-1所示。
图2-1系统整体结构
单片机与PC机的交互协作已经越来越占据信息时代的主流,所以本课题利用PC机与单片机共同完成该控制系统。
PC机利用其强大的CPU进行运算处理,而单片机通过驱动车轮实现控制小车移动。
二者之间使用串口通讯完成连接。
单片机凭借体积小、质量轻、价格便宜等优势,已经渗透到我们生活的各个领域,这里选择C51系列芯片,作为水车控制芯片。
摄像头的要求则不高,采用BNT晶影系列,进行图像的采集和传输。
2.2单元模块简介
将整个系统分为三大模块:
控制模块、执行模块、通信模块。
控制模块负责处理获取的图像,利用Opencv,分辨指示牌的颜色,将图像信号转换为控制信号。
执行模块主要监听PC机发送的控制信号,按照每个信号的指示进行运动。
通信模块是将PC机与单片机连接起来,实现二者之间胡通信。
2.2.1控制模块
控制模块是指由PC机完成的一些图像处理与逻辑运算等功能模块。
通过驱动摄像头获取图像,然后对原始图像进行处理,利用颜色阈值提取特征点,依据特征点的位置与结构匹配控制信号,然后发送给执行模块,由单片机执行运动。
视觉的控制也是控制模块的重要组成部分,其也属于机器视觉的应用。
只用加入了摄像头的系统才能称为是智能系统,机器视觉对智能系统有着深远的影响,因为图像处理的效果决定着智能的程度。
而这里对于机器视觉也有着很高的要求,如对被检工件需要有先验知识,需要高效率、高可靠性和高重复性,以及智能化的要求等,如此就对算法的性能要求提高了。
2.2.2执行模块
执行模块采用C51系列单片机,较典型的一款单片机AT89C51(简称C51)由于由美国ATMEL公司以8051为内核开发生产。
其改进版AT89S52是一种高性能、低功耗的8位单片机,内含8k字节ISP(In-systemProgrammable,系统在线编程)可反复擦写1000次的FLASH只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。
在实际工程应用中,功能强大的AT89S52已成为许多高性价比嵌入式控制应用系统的解决方案。
由单片机组成的执行模块,单独抽离也是一个嵌入式系统,可以依靠C51控制器完成很多独立的功能。
嵌入式系统是指嵌入到工程对象中能够完成某些相对简单或者某些特定功能的计算机系统。
嵌入式系统嵌入到对象系统中,并在对象环境下运行。
与对象领域相关的操作主要是对外界物理参数进行采集、处理,对对象实现控制,并与操作者进行人机交互等。
如下图为装有C51单片机的智能小车示图。
图2-2智能小车
2.2.3通信模块
通信模块采用串口通讯,连接单片机与PC机,实现两者之间的数据交互。
A单片机和PC机间共同使用同一根数据信号线,信息必须在同一根数据信号线上按规定完成传输,每一位数据有且只有一个明确的时间长度。
T89S52串口支持双全工模式(同时收发),并具有接收缓冲功能,为控制模块与执行模块的通信提供了可靠的保障。
串口通讯UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发器)是一种能够把二进制数据按位(bit)传送的通信方式。
单片机AT89S52拥有1个串行通信接口。
该串口可在很宽频率范围内以多种模式工作,其主要功能如下:
在输出数据时,把数据进行并-串转换,即单片机将8位并行数据送到串口输出;在输入数据时,把数据进行串-并转换,即从串口读入外部串行数据并将其转换为8位并行数据送到单片机。
串行通讯对单片机有着极其重要的意义,不仅能够实现将单片机的数据输出到计算机端口,还能实现PC对MCU的控制.因其具有操作简单,线程短,连接简便等优点而受到普遍的应用。
远程控制系统与信息的采集系统的工作方式简单概括可以分为上位机和下位机。
因为串行通讯具有高效性、可行性、灵活性,以及便于管理的特点,所以能够成为常用的通讯方式之一。
如下图为串口结构简图。
图2-3串口结构简图
第三章系统程序设计
3.1上位机程序设计
PC机作为上位机,主要有两大部分的功能实现,首先是串口编程,需要调用Windows的API,实现与单片机的通信。
其次是图像处理部分,选择开源的OpenCV库,实现摄像头的图像获取以及处理识别的功能。
3.1.1串口编程程序
Windows环境下的串口编程与DOS环境下的串口编程有很大不同。
Windows环境下的编程的最大特征之一就是设备无关性,它通过设备驱动程序将Windows应用程序同不同的外部设备隔离。
Windows封装了Windows的通信机制,这种方式称为通信API,Windows程序可以利用Windows通信API进行编程,不用对硬件直接进行操作。
这种体系被称为Windows开放式服务体系(WOSA,WindowsOpenServicesArchitectures)。
Windows操作系统是一个可抢占式的操作系统,所以Windows应用程序常常有被别的程序抢占时间片的可能,因此Win32通信API也不能用于实时通信。
实时通信的质量与时间密切相关。
本课题的通信对实时性的要求还不是很高,所以Win32通信API足以支持。
在32位的Windows系统中,串口和其它通信设备是作为文件处理的。
串口的打开、关闭、读取和写入所用的函数与操作文件的函数完全一致。
通信会话以调用CreateFile()开始。
CreateFile()为读访问、写访问或读写访问“打开”串口。
CreateFile()返回一个串口句柄,为后续串口配制、读写调用。
CreateFile()函数声明如下:
HANDLECreateFile(
LPCTSTRlpszName,//指定要打开的串口逻辑名
DWORDfdwAccess,//指定串口访问的类型
DWORDfdwShareMode,//指定该端口的共享属性
LPSECURITY_ATTRIBUTESlpsa,//引用安全性属性结构
DWORDfdwCreate,//指定串口已经打开应采取的动作
DWORDfdwAttrsAndFlags,//描述端口的各种属性
HANDLEhTemplateFile//指向模板文件的句柄
)
关闭串口只需要调用CloseHandle()函数关闭句柄即可。
CloseHandle函数声明如下:
BOOLCloseHandle(
HANDLEhObject//需关闭的设备句柄
);
Windows使用GetCommState()函数获取串口的当前配置,使用SetCommState()重新分配串口资源的各个参数。
GetCommState()函数声明如下:
BOOLGetCommState(
HANDLEhFile,//通信设备句柄
LPDCBlpDCB//指向device-controlblockstructure的指针
);
SetCommState()函数声明如下:
BOOLSetCommState(
HANDLEhFile,//已打开的串口的句柄
LPDCBlpDCB//指向DCB结构的指针
);
利用Win32通信API读写串口时,既可以同步执行,也可以重叠(异步)执行。
使用ReadFile()函数从串口中读取数据。
ReadFile()函数对同步或异步操作都支持,ReadFile()函数声明如下:
BOOLReadFile(
HANDLEhFile,//指向标识的句柄
LPVOIDlpBuffer,//指向一个缓冲区
DWORDnNumberOfBytesToRead,//读取的字节数
LPDWORDlpNumberOfBytesRead,//指向调用该函数读出的字节数
LPOVERLAPPEDlpOverlapped//一个OVERLA