基于MATLAB的车牌识别

合集下载

(完整版)基于matlab的车牌识别(含子程序)

(完整版)基于matlab的车牌识别(含子程序)

基于matlab的车牌识别系统一、对车辆图像进行预处理1.载入车牌图像:function [d]=main(jpg)[filename, pathname] = uigetfile({'*.jpg', 'JPEG 文件(*.jpg)'});if(filename == 0), return, endglobal FILENAME %定义全局变量FILENAME = [pathname filename];I=imread(FILENAME);figure(1),imshow(I);title('原图像');%将车牌的原图显示出来结果如下:2.将彩图转换为灰度图并绘制直方图:I1=rgb2gray(I);%将彩图转换为灰度图figure(2),subplot(1,2,1),imshow(I1);title('灰度图像');figure(2),subplot(1,2,2),imhist(I1);title('灰度图直方图');%绘制灰度图的直方图结果如下所示:3. 用roberts算子进行边缘检测:I2=edge(I1,'roberts',0.18,'both');%选择阈值0.18,用roberts算子进行边缘检测figure(3),imshow(I2);title('roberts 算子边缘检测图像');结果如下:4.图像实施腐蚀操作:se=[1;1;1];I3=imerode(I2,se);%对图像实施腐蚀操作,即膨胀的反操作figure(4),imshow(I3);title('腐蚀后图像');5.平滑图像se=strel('rectangle',[25,25]);%构造结构元素以正方形构造一个seI4=imclose(I3,se);% 图像聚类、填充图像figure(5),imshow(I4);title('平滑图像');结果如下所示:6. 删除二值图像的小对象I5=bwareaopen(I4,2000);% 去除聚团灰度值小于2000的部分figure(6),imshow(I5);title('从对象中移除小的对象');结果如下所示:二、车牌定位[y,x,z]=size(I5);%返回I5各维的尺寸,存储在x,y,z中myI=double(I5);%将I5转换成双精度tic %tic表示计时的开始,toc表示计时的结束Blue_y=zeros(y,1);%产生一个y*1的零阵for i=1:yfor j=1:xif(myI(i,j,1)==1)%如果myI(i,j,1)即myI的图像中坐标为(i,j)的点值为1,即该点为车牌背景颜色蓝色 %则Blue_y(i,1)的值加1Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计endendend[temp MaxY]=max(Blue_y);%Y方向车牌区域确定%temp为向量white_y的元素中的最大值,MaxY为该值的索引PY1=MaxY;while ((Blue_y(PY1,1)>=5)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while ((Blue_y(PY2,1)>=5)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);%x方向车牌区域确定%%%%%% X方向 %%%%%%%%%Blue_x=zeros(1,x);%进一步确定x方向的车牌区域for j=1:xfor i=PY1:PY2if(myI(i,j,1)==1)Blue_x(1,j)= Blue_x(1,j)+1; endendendPX1=1;while ((Blue_x(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while ((Blue_x(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;%对车牌区域的校正PX2=PX2+1;dw=I(PY1:PY2-8,PX1:PX2,:);t=toc;figure(7),subplot(1,2,1),imshow(IY),title('行方向合理区域');%行方向车牌区域确定figure(7),subplot(1,2,2),imshow(dw),title('定位裁剪后的车牌彩色图像');的车牌区域如下所示:三、字符分割及处理1.车牌的进一步处理对分割出的彩色车牌图像进行灰度转换、二值化、均值滤波、腐蚀膨胀以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像,对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。

基于MATLAB的车牌识别程序详解..精要

基于MATLAB的车牌识别程序详解..精要
预处理部分,将采集到的图像转换为灰度图像, 便于后面处理,同时显示原图的图片以及处理好的灰度图片。
(2)图像增强与边缘检测 figure(2),subplot(1,2,2),imhist(I1;title('灰度图直方图');)%显 示图像直方图,图像增强处理,直方图均衡 I2=edge(I1,'robert',0.15,'both');%将灰度图像用Robert算子计算, 间距0.15,方向水平,垂直两个方向,图像边缘处理,利用Robert算 子运算 figure(3),imshow(I2)%显示边缘处理后的;title('robert算子边缘检 测') se=[1;1;1];%创造一个维度矩阵,用于腐蚀单位扫描 I3=imerode(I2,se);%将I3灰度腐蚀,se为腐蚀算子 figure(4),imshow(I3);title('腐蚀后图像');%对裁剪好的图像进行 图像增强处理,利用腐蚀处理 se=strel('rectangle',[25,25]);%构建一个25为边长的正方形结构体 图
(一)图像预处理 收集到的图片一般为彩色图片,由于彩色图片占用存储容
量大,处理时间长,因此需要对图像进行灰度转换,将彩色图像转 换为灰度图像,灰度图像只保留亮度信息,方便使用,也为后面的 对图像进行二值化处理提供方便。
程序:I1=rgb2gray(I); rgb2gray,MATLAB中灰度图像转换函数,原图及处理后的
PX1=PX1+1; end %从上至下截取一段区域,区域上限位PY1 PX2=x; while ((Blue_x(1,PX2)<3)&&(PX2>PX1))

基于MATLAB的车牌识别系统设计

基于MATLAB的车牌识别系统设计

基于MATLAB的车牌识别系统设计
在1 汽车牌照识别系统总体设计与主要功能模块设计
基于MATLAB 汽车牌照识别系统,主要实现了数字
2 沥青混合料数字2.1 由于汽车长期置于户外环境中,使降低了车牌的
清洁度,另外还有自然光照的条件、照相机与汽车牌照之间的矩离以及角度等因素的影响,汽车牌照
2.2 车牌定位与分割模块
由于本系统采集到的汽车牌照数字同时可通过峰谷分析中车牌的水平、垂直投影确定车牌字符高度的范围,为之后的字符提取打好基础。


2.3 字符分割与识别模块
字符提取主要通过对旋转后的车牌进行水平投影和垂直投影分析,计算出汽车牌照字符的高度、宽度、字符顶行、字符尾行以及字符的中心位置来进行实现。

由于汽车车牌字符间的间隔较大,较少出现字符粘连现象,所以本文采用查找连续有文字区域的方法实现字符分割。

通过字符分割,得到单个字符,其中包三大类汉字、字母和数字。

由于分割得到的单个字符大小不一,所以需要对单个字符进行归一化处理,防止因为牌照倾斜导致的单个字符在位置和大小上的误差。

目前字符识别主要有两种识别方法:模板匹配法和神经网络法。

本文主要是运用模板匹配法对分割出来的字符进行识别。

字符提取、分割和识别的效果如
3 结语
本文主要以数字图像处理技术在汽车牌照识别中的应用为基础,基于MATLAB 平台开发了汽车牌照识别系统。

并给出了汽车牌照识别系统的总体。

基于matlab图像处理的车牌识别系统_毕业设计论文

基于matlab图像处理的车牌识别系统_毕业设计论文

基于matlab图像处理的车牌识别系统目录摘要 (1)第一章绪论 (3)1.1研究背景及意义 (3)1.2车牌系统简介 (4)1.2.1国内外现状 (5)1.2.2车牌识别难点 (6)1.3 MATLAB的简介 (7)1.3 MATLAB语言特点 (8)第二章图像预处理 (8)2.1 图像采集 (8)2.2 图像预处理 (9)2.2.1 图像灰度化 (9)2.2.2 图像增强 (11)第三章车牌定位与分割 (12)3.1 车牌定位 (13)3.2 车牌分割 (17)3.3 车牌进一步处理 (17)第四章字符分割和归一化 (18)4.1 字符分割 (19)4.2 字符归一化 (19)4.3 字符识别 (20)第五章汽车号牌识别系统实现与分析 (22)5.1 系统实现 (22)5.2 系统分析 (25)总结 (28)参考文献 (29)致谢 (30)摘要随着二十一世纪到来,经济快速发展和人们生活水平显著提高,汽车逐渐成为家庭的主要交通工具。

汽车的产量快速增多,车辆流动也变得越来越频繁,因此给交通带来了严重问题,如交通堵塞、交通事故等,智能交通系统(Intelligent Transportation System)的产生就是为了从根本上解决交通问题。

在智能交通系统中车牌识别技术占有重要位置,车牌识别技术的推广普及必将对加强道路管理、城市交通事故、违章停车、处理车辆被盗案件、保障社会稳定等方面产生重大而深远的影响。

该设计主要研究基于MATLAB软件的汽车号牌设别系统设计,系统主要包括图像采集、图像预处理、车牌定位、字符分割、字符识别五大核心部分。

系统的图像预处理模块是将图像经过图像灰度化、图像增强、边缘提取、二值化等操作,转换成便于车牌定位的二值化图像;利用车牌的边缘、形状等特征,再结合Roberts 算子边缘检测、数字图像、形态学等技术对车牌进行定位;字符的分割采用的方法是将二值化后的车牌部分进行寻找连续有文字的块,若长度大于设定的阈值则切割,从而完成字符的分割;字符识别运用模板匹配算法完成。

如何使用Matlab技术进行车牌识别

如何使用Matlab技术进行车牌识别

如何使用Matlab技术进行车牌识别车牌识别技术是一种在现代交通管理、安保等领域应用广泛的技术。

通过使用Matlab软件,我们可以轻松实现车牌识别功能。

本文将介绍如何使用Matlab技术进行车牌识别。

一、图像预处理在进行车牌识别之前,首先需要对图像进行预处理。

图像预处理的目的是提取车牌信息并减小噪声干扰。

在Matlab中,我们可以使用一系列图像处理函数来实现图像预处理,包括图像二值化、边缘检测、形态学操作等。

这些函数可以帮助我们提取车牌轮廓,并去除背景和噪声。

二、车牌定位车牌定位是车牌识别的关键步骤之一。

通过车牌定位,我们可以找到图像中的车牌区域,并将其与其他区域进行区分。

在Matlab中,可以使用图像分割、形态学滤波等技术来实现车牌定位。

这些技术可以帮助我们提取车牌的形状、颜色和纹理等特征,并将其与其他区域进行区分。

三、字符分割一旦我们成功地定位了车牌区域,就需要将车牌中的字符进行分割。

字符分割是车牌识别中的一个重要环节。

通过将车牌中的字符进行分割,我们可以得到单个字符的图像,为后续的字符识别做准备。

在Matlab中,可以使用一系列图像处理函数来实现字符分割,包括边缘检测、连通性分析和投影分析等。

这些函数可以帮助我们将车牌中的字符与其他区域进行分离。

四、字符识别字符识别是车牌识别的核心任务。

通过对字符进行识别,我们可以得到车牌中的文本信息。

在Matlab中,可以使用模式识别、神经网络或者深度学习等技术来实现字符识别。

这些技术可以帮助我们训练一个分类器,将字符图像与对应的字符进行匹配。

通过匹配算法,我们可以得到车牌的文本信息。

五、车牌识别结果展示在进行车牌识别之后,我们可以将识别结果进行展示。

通过将识别结果与原始图像进行对比,我们可以验证车牌识别的准确性。

在Matlab中,可以使用图像绘制函数和文本显示函数来实现车牌识别结果的展示。

通过这些函数,我们可以在原始图像中标注出识别结果,并将结果显示在图像上。

基于MATLAB的车牌识别研究_毕业设计论文

基于MATLAB的车牌识别研究_毕业设计论文

车牌识别技术研究摘要:车牌识别是现代智能交通系统中的重要组成部分之一,应用十分的广泛。

它以数字图像处理、模式识别、计算机视觉等技术基础,对摄像机所拍摄的车辆图像进行分析,得到每一辆汽车唯一的车牌号码,从而完成识别过程,它对汽车防盗、缓解交通紧张等起到了积极的作用。

本文主要介绍了有关于车牌识别技术的原理,以及基于MA TLAB的车牌识别的设计,对一张车辆图片进行一系列的预处理(灰度化、边缘检测、腐蚀、填充、形态滤波)之后,将车牌中的字符分割出来,最后将分割出的字符与数据库中存储的字符进行模板匹配。

通过以上的步骤的实现,该系统便能完成牌照图像的定位分割和牌照字符的自动识别。

关键词:MA TLAB;图像预处理;车牌定位;字符分割;字符识别License plate recognition technology research Abstract:License plate recognition is one of the modern intelligenttransportation system is an important part of a wide range of applications. It is technology-based digital image processing, pattern recognition, computer vision, vehicle camera captured images were analyzed, only every car license plate number, thus completing the identification process, its car security, relieve stress and other traffic from to a positive role. This paper introduces the principle of license plate recognition technology and design based on MATLAB license plate recognition, for a series of vehicle image preprocessing (gray, edge detection, corrosion, fill, morphological filtering) after the license plate characters split up, and finally split the data stored in the character and the character template matching. By implementing the above steps, the system will be able to complete the positioning of the vehicle license plate image segmentation and automatic license plate character recognition.Key words:MA TLAB;image preprocessing; license plate location; character segmentation; character recognition目录1 绪论 (1)1.1研究目的和意义 (1)1.2国内外研究现状 (2)1.3我国车牌分析 (3)1.4本文章节安排 (3)2 数字图像处理概述 (5)2.1图像及其组成要素 (5)2.2数字图像及其表示 (5)2.3数字图像处理基础 (6)2.4MATLAB在数字图像处理中的应用 (6)3 车牌识别系统的原理及方法 (8)3.1车牌识别系统简述 (8)3.2车牌图像预处理 (9)3.2.1 图像灰度化 (9)3.2.2 边缘检测 (9)3.2.3 形态学图像处理 (10)3.3车牌定位原理 (11)3.4车牌字符分割 (13)3.4.1 字符分割 (13)3.4.2 字符归一化处理 (13)3.5字符识别 (13)3.5.1 字符识别简述 (13)3.5.2 字符识别分类 (14)3.5.3 基于模板匹配的字符识别 (14)4 运用MATLAB实现车牌识别 (17)4.1车牌图像灰度化 (17)4.1.1 程序分析 (17)4.1.2 结果分析 (18)4.2车牌图像预处理 (19)4.2.1 程序分析 (19)4.2.2 结果分析 (20)4.3牌照定位 (22)4.3.1 程序分析 (22)4.3.2 结果分析 (23)4.4字符分割 (24)4.4.1 程序分析 (24)4.4.2 结果分析 (25)4.5字符识别 (25)4.5.1 程序分析 (26)4.5.2 结果分析 (27)5 总结 (29)附录 (30)参考文献 (34)致谢 (35)1 绪论1.1 研究目的和意义随着计算机、通信技术、计算机网络技术在人们日常生活中的不断发展和应用,带来了经济的快速发展,社会已经进入了信息化时代,自动处理信息的能力不断提高并在人们生活的各个领域中得到广泛的应用。

基于matlab的车牌识别算法

基于matlab的车牌识别算法

基于Matlab的车牌识别算法摘要车牌系统是计算机视觉和模式识别技术在智能交通领域的重要应用课题之一。

车牌识别系统是以特定目标为对象的专用计算机系统,该系统主要包括三个内容:车牌定位、字符分割和字符识别。

其中车牌定位的目的就是从所拍摄的汽车图像中确定车牌的位置,从而便于后续的字符分割和字符识别工作。

目前常用的方法有:基于模板匹配的方法、基于特征的方法和神经网络法等。

本设计采用基于模板匹配算法和基于人工神经网络算法对车牌进行定位识别,此算法只对蓝底白字车牌进行分割识别,对黑底白字车牌原则上整个算法可直接适用,。

此算法分割出的图像像素值和模板图像达到了一致,由此便避免了切割出的图像像素值不一致所带来的问题。

但对白底黑字车牌、黄底黑字车牌,需要对车牌定位算法进行调整,并将图像反转(0变1、1变0)。

关键词:车牌识别系统;字符分割;车牌定位LICENSE PLATE RECOGNITION ALGORITHM BASEDON MATLABABSTRACTLicense plate system is a computer vision and pattern recognition technology in one of the important application research topic in the field of intelligent transportation. License plate recognition system based on specific goals of a special computer system, the system mainly includes three contents: license plate locating, character segmentation and character recognition. One of the purpose of license plate location is taken from the auto locate the license plate in the image, so as to facilitate the subsequent work character segmentation and character recognition. Now commonly used methods are: based on template matching method, based on the characteristics of the method and neural network, etc.This design USES based on template matching algorithm and based on artificial neural network algorithm to locate license plate recognition, the algorithm is only for blue white license plate segmentation recognition, the algorithm can be directly applicable in principle to the black white plate,. This algorithm to segment the image pixel values and template image, thus to avoid the cut out in the process of image pixel values are not consistent. But black on white background and black text plate, yellow bottom plate, adjustments need to license plate localization algorithm, and the image inversion of (0, 1, 1, 0).Key words: license plate recognition system; Character segmentation; License plate location目录1 前言 (4)1.1车牌号识别研究背景 (4)1.2 车牌号识别技术研究现状和趋势 (5)1.2.1国内外车牌识别技术情况及我国车牌特点 (5)1.2.2车牌识别技术的应用前景 (6)1.3 车牌识别研究内容 (7)2 车牌识别系统设计原理概述 (9)3 车牌识别系统程序设计 (11)3.1图像读取及车牌区域提取 (11)3.1.1图像灰度图转化 (11)3.1.2图像的边缘检测 (13)3.1.3灰度图腐蚀 (14)3.1.4图像平滑处理 (15)3.1.5移除小对象 (16)3.1.6车牌区域的边界值计算 (17)3.2字符切割 (18)3.2.1字符切割前的图像去噪处理 (18)3.2.2字符切割前的图像膨胀和腐蚀处理 (19)3.2.3字符切割 (19)3.3字符识别 (22)3.3.1字符识别方法选择 (22)3.3.2字符归一化 (22)3.3.3字符匹配识别 (23)4 仿真结果及分析 (26)4.1 车牌定位及图像读取及其图像处理 (26)4.2 车牌字符分割及其图像处理 (26)5 结论 (28)参考文献 (29)致谢............................................... 错误!未定义书签。

【精编完整版】基于MATLAB的车牌识别系统设计_毕业论文设计

【精编完整版】基于MATLAB的车牌识别系统设计_毕业论文设计

南京工程学院毕业设计说明书(论文)院系:计算机工程学院专业:电子信息科学与技术题目:基于MATLAB的车牌识别系统设计2013年5月南京随着计算机多媒体技术的发展,车牌自动识别技术(license plate recognition)已经成为智能交通系统的重要组成部分。

在欧美许多发达国家,车辆识别技术已经广泛的应用在交通管理的各个方面。

由于我国车牌种类多,并且是由汉字、英文字母和数字组成,这给自动识别系统的设计带来较大的难度。

本文在学习研究图像处理理论的基础上,设计了一个车牌自动识别系统。

本系统包括三个主要模块:车辆图像预处理、车牌定位和车牌字符识别。

识别系统处理过程主要包括获取车辆源图像、图像灰度化、图像增强去噪、边缘检测、车牌定位、车牌图像预处理、车牌字符分割、字符识别等部分,其中车牌定位和字符识别部分是整个系统设计的核心和难点。

车牌识别系统可以广泛应用在高速公路自动收费、小区无人停车场、城市道路监控、车辆流量统计等方面,本系统具有一定的实用价值。

关键词:车牌识别车牌定位LPR 模式识别毕业设计说明书(论文)中文摘要毕业设计说明书(论文)外文摘要Title Design of the license plate recognition AbstractWith the development of computer multimedia technology, lice nse plate recognition (LPR) has become an important component ofIntelligent Transportation Systems. In many developed countriesofEurope and America, the license plate recognition technology hasbeen widely used in all aspects of traffic management. Because plates in China have many different styles, in addition, they consist of Chinese letters, English letters and numbers. So, it's very hard to identify Chinese license plates.This study propose a license plate recognition based on kno wledge of image processing. This recognition has three main modu les: preprocessing of original image, locate license plate and c haracters identification. This license plate recognition mainly includes several parts: get original image, make gray, enhance i mage,edge detect, locate license plate, preprocess plate image, segment characters and characters identification. The key of thewhole system is location of license and character recognition.License plate recognition can be extensively used in highwaytoll collection,Intelligent parking, urban road monitoring, traffic flow statistics and so on, what is more, this recognition c anbring some practical value.Key words: plate recognition, plate locate, LPR, pattern recognition目录前言 (1)第一章技术概览 (2)1.1MATLAB简介 (2)1.2MATLAB图像处理工具箱简介 (2)1.3车辆源图像 (3)1.4车牌识别的主要流程 (3)1.5车牌识别系统的结构图 (3)第二章系统人机界面的设计与实现 (5)2.1GUI简介 (5)2.2本文的GUI界面设计 (5)第三章图像预处理及实现 (7)3.1数字图像基本知识 (7)3.2车辆图像灰度化 (8)3.3车辆图像增强 (9)3.4二值化 (14)第四章车牌定位及实现 (18)4.1边缘检测 (18)4.2车牌定位 (24)第五章车牌字符识别及实现 (29)5.1字符分割 (29)5.2车牌字符识别 (32)第六章系统测试及分析 (34)6.1测试的目的 (34)6.2车牌识别系统的测试 (34)6.3测试效果 (35)结束语 (40)参考文献 (42)致谢 (44)附录1:英文技术资料翻译 (45)附录2:程序清单 (60)前言由于我国道路交通的发展迅速,汽车数量特别是轿车数量不断增加,出现了许多车辆管理方面问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

liccode=char(['0':'9' 'A':'Z' '京津沪渝冀晋辽吉黑苏浙皖闽赣鲁豫鄂湘粤琼川贵云陕甘蒙新青藏桂宁港']); %建立自动识别字符代码表
l=1;
[m2,n2]=size(subcol);
for k=findmax-4:findmax+3
cleft=markcol5(k)-maxwidth/2;
cright=markcol5(k)+maxwidth/2-2;
if cleft<1
cleft=1;
cright=maxwidth;
end
if cright>n2
cright=n2;
cleft=n2-maxwidth;
end
SegBw1=sbw(rowtop:rowbot,cleft:cright);
SegBw2 = imresize(SegBw1,[32 16]); %变换为32行*16列标准子图
if l==1 %第一位汉字识别
kmin=37;
kmax=68;
elseif l==2 %第二位A~Z 字母识别
kmin=11;
kmax=36;
elseif l>=3 & l<=5 %第三、四位0~9 A~Z字母和数字识别
kmin=1;
kmax=36;
else %第五~七位0~9 数字识别
kmin=1;
kmax=10;
end
for k2=kmin:kmax
fname=strcat('D:\sample\',liccode(k2),'.bmp');
SamBw2 = imread(fname,'bmp');
SubBw2 = SamBw2-SegBw2;
Dmax=0;
for k1=1:32
for l1=1:16
if ( SubBw2(k1,l1) > 0 | SubBw2(k1,l1) <0 )
Dmax=Dmax+1;
end
end
end
Error(k2)=Dmax;
end
Error1=Error(kmin:kmax);
MinError=min(Error1);
findc=find(Error1==MinError);
RegCode(l*2-1)=liccode(findc(1)+kmin-1);
RegCode(l*2)=' ';
l=l+1;
end
title (['识别车牌号码:', RegCode],'Color','r');
运行结果总是出错:
??? Error using ==> minus
Integers can only be combined with integers of the same class, or scalar doubles.
这怎么解决啊?大家帮帮忙啊!。

相关文档
最新文档