汽车车牌定位识别系统的设计实现
2.1项目背景及技术难点
项目名称:智能交通:汽车车牌定位识别;
项目内容:本项目是在FPGA前端实时完成图像采集、预处理、车牌定位和字符分割以及数据传输工作,在后端完成车牌字符识别工作。FPGA接收采集的实时图像,在内部采用流水线方式依次完成图像预处理、车牌定位和车牌字符分割工作,最后通过高速USB端口将已分割字符传输到后端进行字符识别。其中,图像采集和数据传输是通过EDK内嵌的MicroBlaze内核控制实现的,这简化了FPGA内部控制电路;而FPGA内部信号处理电路采用的流水线方式,大大提高了系统实时处理视频帧的能力。
技术难点:(1)车牌自身特征的多样性及外界环境的不确定性导致的定位识别不准确;(2)图像处理算法的较高计算复杂度导致的实时性不满足。
2.2关键技术及创新点
算法:采用了一种基于边缘检测和区域搜索的车牌定位算法,该算法直观且运算量小,利于硬件实现;
电路实现:FPGA内部采用流水线方式依次完成图像处理、车牌定位和字符分割三部分工作,极大地提高了对视频流的实时处理能力;
嵌入式控制:采用Xilinx EDK内嵌的MicroBlaze软核控制完成图像采集和数据传输工作,简化了FPGA内部的控制电路。
2.3性能指标及可行性分析
设定的性能指标:我国电视视频标准采用PAL制,其帧频为 25,因此设定本系统所需达到的处理速度为25帧/秒,并可以将字符分割信息通过USB端口上传至PC机或其它设备。
可行性分析:本方案已经过MATLAB仿真,结果表明可以有效进行车牌的定位、分割和识别。在保证车牌识别效果的前提下,通过对算法结构进行改进,结合流水线方式的FPGA实现,可以达到实时性要求。另外,本小组成员均有丰富的FPGA设计功底和扎实的信号处理理论知识,有能力保证顺利完成交付该项目。
二、软件设计方案概述
汽车车牌识别系统一般分为三个部分,即车牌区域定位、车牌字符分割和车牌字符识别。为了突出图像的有用特征,通常在车牌定位之前需要对所拍摄图像进行预处理,以达到更好的定位效果。图3—1为本项目所设计软件方案流程图,其中车牌区域定位部分设计采用了一种基于边缘检测和区域搜索的车牌定位分割算法,其仿真结果见附录。
图3—1 软件设计方案流程图
3.1 图像预处理
在车牌定位之前对摄像机所拍摄图像进行预处理,是指突出图像中的有用信息,抑制可能对后续步骤产生不利影响的无效信息,以达到减小运算复杂度、提高识别效果的目的。图像预处理主要包括图像灰度化、去噪和灰度拉伸三部分。
3.1.1 RGB2Gray
摄像机所拍摄的图像一般为RGB彩色图像,每个像素包括R、G、B三种颜色分量,每个颜色分量用8 bit表示,即24 bit表示一个像素。而灰度图像是指只包含亮度分量的图像,每个像素用8 bit表示,亮度值量化为256级。对于车牌识别,灰度图像足以满足要求,且相对于RGB图像具有计算复杂度低、所需存储空间小的优点。因此,可以把RGB彩色图像转换为灰度图像,计算公式为Gray = 0.299R + 0.587G + 0.114B。
3.1.2 图像去噪
图像的能量主要集中在低频部分,高频部分多为边缘信息,而噪声一般也集中在高频部分,因此需要对图像进行去噪,以使得车牌定位中进行边缘检测时得到更好的效果。中值滤波是一种非线性图像处理方法,它将一个窗口内所有像素排序后的中间值代替窗口中心的像素值,能够在去除噪声的同时有效保护图像边缘,因此本方案中选用中值滤波方法进行去噪。
3.1.3 灰度拉伸
为了增强车辆图像和牌照图像的对比度,有利于牌照定位和识别,需对去噪后的图像进行灰度拉伸。灰度拉伸是指将输入图像中某点 的灰度 ,通过分段映射关系T,映射成灰度 后输出,即 。
3.2 车牌定位
车牌定位是指从图像中正确的识别分割出车牌区域,其基本原理是根据目标与背景的先验知识,对图像中的车牌区域进行标记定位,并完成有效分割。图像中车牌区域具有明显的纹理特征,含有丰富的边缘信息,如果对整幅图象进行边缘检测处理,则车牌区域相对于其他非车牌区域含有更多的细节边缘信息。因此,本方案中选用了一种基于边缘检测和区域搜索的车牌定位分割算法,该方法直观且运算复杂度较低,利于硬件实现。
3.2.1 Sobel边缘检测
边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线,一般包括滤波、图像增强、检测和定位四部分。Sobel边缘检测是指将Sobel算子与给定图象进行模板卷积,然后分析卷积结果图象中各边缘点的变化方向,并求取图象的局部最大值点作为边缘输出,这样即可获得图像的边缘信息。相对于一般的简单卷积并阈
车牌定位识别FPGA图像采集MicroBlaz 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)