没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
基于 Matlab 的车牌识别
摘要
:
车牌识别技术是智能交通系统的重要组成部分,在近年
来得到了很大的发展。本文从预处理、边缘检测、车牌定位、字
符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。
并用 MATLAB 软件编程来实现每一个部分,最后识别出汽车车牌。
一、设计原理
车辆车牌识别系统的基本工作原理为:将摄像头拍摄到的包含车辆车牌的图像
通过视频卡输入到计算机中进行预处理,再由检索模块对车牌进行搜索、检测、定
位,并分割出包含车牌字符的矩形区域,然后对车牌字符进行二值化并将其分割为单个
字符,然后输入JPEG或 BMP格式的数字,输出则为车牌号码的数字。车牌自动识别
是一项利用车辆的动态视频或静态图像进行车牌号码、车牌颜色自动识别的模式识
别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识
别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学
字符识别算法等。某些车牌识别系统还具有通过视频图像判断车辆驶入视野的功能
称之为视频车辆检测。一个完整的车牌识别系统应包括车辆检测、图像采集、车牌
识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的
视频图像。车牌识别单元对图像进行处理,定位出车牌位置,再将车牌中的字符分
割出来进行识别,然后组成车牌号码输出。
二、设计步骤
总体步骤为:
车辆→图像采集→图像预处理→车牌定位
精选
→字符分割→字符定位→输出结果
基本的步骤
:
a.车牌定位,定位图片中的车牌位置;
b.车牌字符分割,把车牌中的字符分割出来;
c.车牌字符识别,把分割好的字符进行识别,最终组成车牌号码。
车牌识别过程中,车牌颜色的识别依据算法不同,可能在上述不同步骤
实现,通常与车牌识别互相配合、互相验证。
(1)车牌定位:
自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确
定车牌区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜
索,找到符合汽车车牌特征的若干区域作为候选区,然后对这些侯选区域做进一
步分析、评判,最后选定一个最佳的区域作为车牌区域,并将其从图象中分割出
来。
流程图
:
导入原
始图像
图像预处理增
强效果图像
边缘提取 对图像开
闭运算
车牌定位
(2)车牌字符分割 :
完成车牌区域的定位后,再将车牌区域分割成单个字符,然后进行识别。字
符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符
内的间隙处取得局部最小值的附近,并且这个位置应满足车牌的字符书写格式、
字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的
字符分割有较好的效果。
精选
流程图:
平投 影进计 算水
行车牌水平校正
分析垂直投影找到每
个字符中心位置
按左右宽度
去掉车牌
的框架
切割出字符
(3)车牌字符识别 :
字符识别方法目前主要有基于模板匹配算法和基于人工神经网络算法。基于
模板匹配算法首先将分割后的字符二值化,并将其尺寸大小缩放为字符数据库中
模板的大小,然后与所有的模板进行匹配,最后选最佳匹配作为结果。基于人工
神经元网络的算法有两种:一种是先对待识别字符进行特征提取,然后用所获得
特征来训练神经网络分配器;另一种方法是直接把待处理图像输入网络,由网络
自动实现特征提取直至识别出结果。实际应用中,车牌识别系统的识别率与车牌
质量和拍摄质量密切相关。车牌质量会受到各种因素的影响,如生锈、污损、油
漆剥落、字体褪色、车牌被遮挡、车牌倾斜、高亮反光、多车牌、假车牌等等;
实际拍摄过程也会受到环境亮度、拍摄亮度、车辆速度等等因素的影响。这些影
响因素不同程度上降低了车牌识别的识别率,也正是车牌识别系统的困难和挑战
所在。为了提高识别率,除了不断的完善识别算法,还应该想办法克服各种光照
条件,使采集到的图像最利于识别。
切割出的字
流程图:
符送入库中
切割出的字
符送入库中
与数据库的
图片相减
与数据库的
图片相减
分析之差最小
的图片是哪张
分析之差最小
的图片是哪张
字符依次分析显示误
差最小的图片名字
字符依次分析显示误
差最小的图片名字
三 各模块的实现:
3.1 输入待处理的原始图像:
clear ;
close all;
精选
%Step1 获取图像 装入待处理彩色图像并显示原始图像
Scolor = imread('3.jpg');%imread 函数读取图像文件
图 3.1 原始图像
3.2 图像的灰度化:
彩色图像包含着大量的颜色信息,不但在存储上开销很大,而且在处理上也
会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为
灰度图像,以加快处理速度。由彩色转换为灰度的过程叫做灰度化处理。选择的
标准是经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得
更加清晰、细腻、容易识别。
%将彩色图像转换为黑白并显示
Sgray = rgb2gray(Scolor);%rgb2gray 转换成灰度图
figure,imshow(Sgray),title('原始黑白图像');
精选
图 3.2 原始黑白图像
3.3 对原始图像进行开操作得到图像背景图像:
s=strel('disk',13);%strei 函数
Bgray=imopen(Sgray,s);%打开 sgray s 图像
figure,imshow(Bgray);title('背景图像');%输出背景图像
图 3.3 背景图像
3.4 灰度图像与背景图像作减法,对图像进行增强处理:
精选
剩余22页未读,继续阅读
资源评论
我是你的春哥!
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Keil C51 插件 检测所有if语句
- 各种排序算法java实现的源代码.zip
- 金山PDF教育版编辑器
- 基于springboot+element的校园服务平台源代码项目包含全套技术资料.zip
- 自动化应用驱动的容器弹性管理平台解决方案
- 各种排序算法 Python 实现的源代码
- BlurAdmin 是一款使用 AngularJs + Bootstrap实现的单页管理端模版,视觉冲击极强的管理后台,各种动画效果
- 基于JSP+Servlet的网上书店系统源代码项目包含全套技术资料.zip
- GGJGJGJGGDGGDGG
- 基于SpringBoot的毕业设计选题系统源代码项目包含全套技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功