车牌智能识别系统的研究与实现

车牌智能识别系统的研究与实现
在Matlab环境下设计开发了一套车牌智能识别系统。实验表明,系统基本能够正确识别车牌并具有较高的识别率,符合设计要求。
关键字:车牌智能识别;车牌定位;倾斜矫正;字符分割;字符识别;BP神经网络 HM000080
4.3.2.2  BP神经网络的设计
根据车牌字符的特点:车牌第一个字符为汉字,第二个字符为英文字母,第三、四个字符为英文字母或数字,第五到第七个字符均为数字。本实验构造了4 个含一个隐含层的三层BP神经网络,分别用来识别汉字、英文字母、数字、数字或英文字母。用于识别汉字的BP 神经网络,它有20 节点输入,2个输出节点。用于识别英文字母的BP 神经网络,它有20 个节点输入,24 个节点输出(除了i和o)。用于识别数字的BP 神经网络,它有20 个节点输入,10 个节点输出。用于识别英文字母或数字的BP神经网络,它有20个节点输入,34 个节点输出(其中英文字母24 个,数字10 个,共34 个)。
4.3.2.3 BP神经网络的创建
在参考了大量目前关于BP神经网络的文献以及在论坛上一些较热门的BP神经网络训练的实验结果,初始权值、激活函数的选取以及各参数的设定如下:
网络的权值和阈值为随机选取,各层的激活函数依次为函数tansig.m 和函数logsig.m 各参数设定为:误差目标goal=0.0005;学习速度lr=0.1;学习速率递增乘因子lr_inc=1.15;学习速率递减乘因子lr_dec=0.8;动量因子net.trainParam.mc=0.9。
网络的设计是为了使其输出矢量在正确的位置上输出为1,而在其他位置上为0。然而噪声输入矢量可能导致网络的1 和0 输出不正确,或出现其他输出值。为了使网络具有抗干扰能力,在网络训练后,再将其输出经过一层竞争网络的处理,使网络的输出只在最接近输入值的输出位置输出为1,保证在其他位置为0。以0-9 这10 个数字为例:
分别输入0~9 时神经网络的期望输出值                   输入1 时的输出
1 0 0 0 0 0 0 0 0 0                       0.0000
0 1 0 0 0 0 0 0 0 0                       0.9884
0 0 1 0 0 0 0 0 0 0                       0.0035
0 0 0 1 0 0 0 0 0 0                       0.0098
0 0 0 0 1 0 0 0 0 0                       0.0012
0 0 0 0 0 1 0 0 0 0                       0.0044
0 0 0 0 0 0 1 0 0 0                       0.0111
0 0 0 0 0 0 0 1 0 0                       0.0017
0 0 0 0 0 0 0 0 1 0                       0.0024
0 0 0 0 0 0 0 0 0 1                       0.0001
经竞争网络输出1为符合要求。
5.1 GUI界面设计
用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical User Interfaces ,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。GUI 是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。基于MATLAB的图像处理软件设计采用GUI界面制作,可以按照自己拟定的功能要求进行设计和调试。
建立GUI界面的主要方式有两种,第一种是直接通过程序编写的方式产生对象,即利用uicontrol、uimenu、uicontexmenu等函数以编写M文件的方式来开发整个GUI;第二种方式是直接通过MATLAB的GUI编辑界面——GUIDE来建立GUI。在使用GUIDE创建GUI时,可以将设计好的GUI界面保存为一个FIG资源文件,同时自动生成对应的M文件。该M文件包含了GUI初始化代码和组建界面布局的控制代码。本次设计主要运用第二种方法。 查看完整请+Q:351916072获取
5.2 GUI界面功能模块
本次设计的GUI功能编辑界面如下图5.1:
图5.1  GUI功能编辑页面
其中显示图像模块采用axes ,axes1用于显示原图,axes2用于显示定位后的车牌图像,axes3~axes9用于分别显示分割后的字符;功能模块采用push botton ,经过重命名后第一个为打开图片,相应的回调函数序为打开图片的算法程序,第二个为车牌定位及识别,相应的回调函数为主程序。
另外,由于各个模块的算法程序较多,本次设计为了程序查看清楚,把各个模块分成了单独的子程序,由主程序统一调用。
目 录
第1章  绪论    1
1.1  研究背景    1
1.2  车牌自动识别系统的研究现状    1
1.3 车牌的特征    2
1.4  车牌识别系统的软件设计    3
1.5  本文的章节安排    4
第2章   车牌定位的算法研究    6
2.1  车牌定位主要方法及流程    6
2.2  图像预处理    7
2.2.1 灰度变换    7
2.2.2 中值滤波    8
2.2.3 直方图均衡    10
2. 3  车牌特征提取及定位    11
2. 3.1 图像二值化      12
2. 3.2  形态学处理    12
2. 3.3  车牌区域的提取    14
2. 4  基于Radon变换的倾斜矫正    16
2.5   本章小结    16
第3章   车牌分割的算法研究    18
3.1  车牌字符的各种特征参数    18
3.2  常用的车牌算法研究    18
3.3  基于局部投影的车牌分割方法    19
3.3.1  局部垂直投影的字符分割具体步骤    19
3.3.2  分割结果    21
3.5本章小结    21
 第4章  字符识别的算法研究    23
4.1 概述    23
 4.2 字符识别的预处理    23
4.2.1 字符的归一化    23
4.2.2 建立模板库    23
4.3 BP网络模型结构    24
4.3.1 基本概念    24
4.3.2 采用的BP神经网络的设计    25
4.3.2.1 特征提取    25
4.3.2.2 BP神经网络的设计    26
4.3.2.3 BP神经网络的创建    27
4.4 识别结果    28
4.5 本章小结    29
第5章   车牌智能识别系统的MATLAB仿真实现    30
5.1 GUI界面设计    30
5.2 GUI界面功能模块    30
5.3基于GUI界面的仿真实现    31
5.4 本章小结    34
第6章   总结与展望    35
6.1 本文总结    35
6.2 未来展望    36
致谢    38
参考文献    39
附 录    41

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2292.html

好棒文