基于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图像处理的车牌识别系统_毕业设计论文

基于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车牌识别系统设计
四、设计工作的总体安排及进度
2014.11.1-2015.1.23 毕业设计选题,查阅相关文献,提交开题报告
2015.1.24-2015.3.31 列出毕业设计说明书基本框架并完成主要内容
2015.4.11-2015.4.29 完成毕业设计说明书初稿
2015.4.30-2015.5.14 补充、完善,完成毕业设计说明书终稿
三、设计方法和步骤
设计的系统要求能从已给出的比较清晰的含有汽车图像的图片中,利用数字图像处理和一些相关算法,准确、快速地识别出车牌。总体设计流程图如下。
图1总体设计流程图
1、图像输入
输入的图像由于受到天气、光照等的影响,再加上车牌老化污损、陈
旧褪色,这些都可能使车牌图像产生对比度不足的弊端,图像细节分辨不清,车牌字符部分不突出。而且,对高速行进中的汽车拍摄的图像往往产生模糊、扭曲、变形等现象,这都增加了预处理的难度。而这些处理需要很复杂的过程,因为系统把读入的图片默认为比较清晰的、几乎没有倾斜度的图片。
学 号:116712146
姓 名:
指导教师、职称:
2021年 1 月 10 日

一、本设计课题的目的意义
随着人们的生活水平的不断提高,汽车的需求量也日渐增加。随之增加的也有对城市交通状况的重视,如何进行有效的交通管理更是成为了人们关注的焦点。所以智能交通系统已成为世界交通领域研究的重要课题。现代社会里图形图像技术不断的发展,车牌识别技术准确率也越来越高。车牌识别系统作为智能交通系统的一个重要组成部分,应用也十分广泛。它通过数字图像处理等技术对摄像头所拍摄的图像或者视频进行分析,得到每一辆汽车唯一的车牌号码,完成其识别过程。车牌号码识别系统已在高速公路、城市交通和停车场等项目的管理中占有无可取代的重别,从而降低交通管理工作的复杂度,可以在停车场,高速公路收费站,电子警察,超速抓拍,闯红灯抓拍等领域运用。

基于MATLAB的车牌识别系统的源代码(可以实现)

基于MATLAB的车牌识别系统的源代码(可以实现)

k=input('Enter the file name:','s');%输入车牌照片im=imread(k);imshow(im);im_gray=rgb2gray(im);im_gray=medfilt2(im_gray,[3,3]);%对图像进行中值滤波Image=im2bw(im_gray,0.2);BW=edge(im_gray,'sobel');%找出图像边缘[imx,imy]=size(BW);%计算图像大小msk=[0 0 0 0 0;0 1 1 1 0;0 1 1 1 0;0 1 1 1 0;0 0 0 0 0;];B0=conv2(double(BW),double(msk));%对边缘区域进行加强se=ones(2,80);B1=imdilate(B0,se);%figure;%imshow(B1);B2=imerode(B1,se);%figure;%imshow(B2);se=ones(20,2);B3=imdilate(B2,se);%figure;imshow(B3);B4=imerode(B3,se);%figure;imshow(B4);se=ones(50,2);B5=imdilate(B4,se);%figure;imshow(B5);B6=imerode(B5,se);%figure;imshow(B6);%对边界图进行小区域连通,使车牌区域连通为一个方块[B,L]=bwboundaries(B6,4);imshow(label2rgb(L,@jet,[.5 .5 .5]))%对连通区域进行标记hold onfor k=1:length(B)%用线条给连通区域标上边界线boundary=B{k};plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)endstats=regionprops(L,'Area','Centroid');%找到每个连通域的质心for k=1:length(B)%循环遍历每个连通域的边界boundary=B{k};%获取一条边界上的所有点delta_sq=diff(boundary).^2;perimeter=sum(sqrt(sum(delta_sq,2)));%计算边界周长area=stats(k).Area;%获取边界所围面积metric=27*area/perimeter^2;%计算匹配度metric_string=sprintf('%2.2f',metric);%要显示的匹配度字串if metric>=0.85&&metric<=1.15&&area>1000%截取出匹配度接近1且面积大于1000像素的连通域centroid=stats(k).Centroid;plot(centroid(1),centroid(2),'ko');%提取该连通域所对应在二值图像中的矩形区域goalboundary=boundary;s=min(goalboundary,[],1);e=max(goalboundary,[],1);goal=imcrop(Image,[s(2) s(1) e(2)-s(2) e(1)-s(1)]);endtext(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','g','FontSize',14,'FontWeight','bold') ;%显示匹配度字串endgoal=~goal;%对截取图像进行反色处理figure;imshow(goal);[a,b]=size(goal);for i=a/2:-1:1 %从图像水平中轴开始向上扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的上限num=0;for j=1:bif goal(i,j)==1num=num+1;endendif num<(b*0.1)line_up=i;break;endendfor i=a/2:a %从图像水平中轴开始向下扫描,当白点数少于每行总点数的1/10时,停止扫描,并将该行定义为车牌字符区域的下限num=0;for j=1:bif goal(i,j)==1num=num+1;endendif num<(b*0.1)line_down=i;break;endendgoal=goal(line_up:line_down,1:b);%根据之前定义的上下限截取车牌字符区域figure;imshow(goal);%显示车牌字符区域[a,b]=size(goal);row=zeros(18);now=1;flag=0;for j=1:b %对截取出的字符区域进行竖列扫描,并取每列总点数的1/10作为阈值点,当每列的白点数从阈值以上掉落到阈值以下或从阈值以下上升到阈值以上时,记录该列的横坐标num=0;for i=1:aif goal(i,j)==1num=num+1;endendif flag==0if num<0.1*arow(now)=j;now=now+1;flag=1;endelseif num>0.1*arow(now)=j;now=now+1;flag=0;endendendif row(3)-row(2)>10 %判断扫描出的第二块区域(扫描到的第二列与第三列之间)是否包含有效字符,如包含,则将扫描到的第二列定义为字符分割的起始列;否则,则定义第一列为起始列now=2;elsenow=1;endfigure;l1=0;l2=0;for k=1:8m=row(now);n=row(now+1);temp=goal(1:a,m:n);point=0;%扫描每一个字符图片的白点数for i=1:afor j=1:n-mif temp(i,j)==1point=point+1;endendendif point>0.4*a*(n-m)&&n>m %当扫描到的白点数小于总点数的2/5时放弃输出(有可能是车牌上的点状分隔符)l2=l2+1;%l2用来记录识别出的字符数subplot(1,7,l2);x(k)=code(temp);%调用子程序进行字符扫描,并返回字符的ASCII码x(k)=uint8(x(k));if x(k)>0 %当所选区域不为空时进行输出l1=l1+1;%l1用来记录输出的字符数s(l1)=char(x(k));endtemp(32,32)=0;imshow(temp);endnow=now+2;endy=char(s);%将得到的ASCII码重新转换为字符并在屏幕上输出fprintf('\r\n该车辆的车牌号为:\r\n');disp(y);fprintf('\r\n输出的字符数为:%4d\r\n',l1);fprintf('识别出的字符数为:%4d\r\n',l2);。

基于matlab车牌的定位与分割识别程序概要

基于matlab车牌的定位与分割识别程序概要

基于Matlab 的车牌定位与分割 经典算法I 二imread('car.jpg');I1=rgb2gray(l);%转化为灰度图像subplot(3,2,2),imshow(I1),title('灰度图像');I2=edge(I1,'robert',0.09,'both');%采用 robert 算子进行边缘检测 subplot(3,2,3),imshow(I2),title('边缘检测后图像');%读取图像figure 。

; subplot(3,2,1),imshow(l), title('原始图像');边绿检浪I 启图像se=[1;1;1]; %线型结构元素 I3=imerode(l2,se);%腐蚀图像subplot(3,2,4),imshow(l3),title('腐蚀后边缘图像');se=strel('recta ngle',[25,25]);矩形结构元素 I4=imclose(l3,se);%图像聚类、填充图像 subplot(3,2,5),imshow(I4),title('填充后图像');一5Hbwa「eaopen(一4200S % 卅弗W HM W 血、」丿-H 2000subp_0f(326二M X N H si z e (_5=_6Hdoub_e(_5xYlHzeros(y3_fonyf o r li-r xif(l6(i,j,1)==1)Y 1(i,1)= Y1(i,1)+1;endend[temp MaxY]=max(Y1);figure。

;subplot(3,2,1),plot(0:y-1,Y1),title('行方向像素点灰度值累计和'), xlabel('行值'),ylabel('像素');行值%求的车牌的行起始位置和终止位置PY 仁Max Y;while ((Y 1(PY1,1)>=50)&&(PY 1>1))PY 1=P Y1-1;endPY 2=Max Y;while ((Y 1(PY2,1)>=50)&&(PY2<y))endPY 2=P Y2+1;endIY=I(P Y1:P Y2,:,:);X1= zeros(1,x);for j=1:xfor i=PY1:PY2if(l6(i,j,1)==1)X1(1,j)= X1(1,j)+1;endend endsubplot(3,2,2),plot(0:x-1,X1),title('列方向像素点灰度值累计和'), xlabel('列值'),ylabel('像数');歹U方向像素点衣度值黒计环CT1OC%求的车牌的列起始位置和终止位置PX仁1;while ((X1(1,PX1)<3)&&(PX1<x))PX1= PX1+1;endPX2=x;O 2OD 400 600 800歹UfSwhile ((X1(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX仁PX1-1;PX2=PX2+1;%分割出车牌图像%dw=l(P Y1:P Y2,PX1:PX2,:);subplot(3,2,3),imshow(dw),title('定位剪切后的彩色车牌图像')定位剪切后的耘色车牌图像4.2车牌字符分割确定车牌位置后下一步的任务就是进行字符切分分离出车牌号码的全部字符图像。

基于MATLAB图像处理的汽车牌照识别系统

基于MATLAB图像处理的汽车牌照识别系统

基于MATLAB 图像处理的汽车牌照识别系统仇成群(盐城师范学院,江苏盐城224002)汽车牌照识别系统是建设智能交通系统不可或缺的部分。

基于MATLAB 图像处理的汽车牌照识别系统是通过引入数字摄像技术和计算机信息管理技术,采用先进的图像处理、模式识别和人工智能技术,通过对图像的采集和处理,获得更多的信息,从而达到更高的智能化管理程度。

车牌识别系统整个处理过程分为预处理、边缘提取、车牌定位、字符分割、字符识别五大模块,用MATLAB 软件编程来实现每一个部分处理工程,最后识别出汽车牌照[1-4]。

1MATLAB 及其图像处理工具概述MATLAB 是MATrix LABoratory (矩阵实验室)的缩写,是Math Works 公司开发的一种功能强、效率高、简单易学的数学软件。

MATLAB 的图像处理工具箱,功能十分强大,支持的图像文件格式丰富,如*.BMP 、*.JPG 、*.JPEG 、*.GIF 、*.TIF 、*.TIFF 、*.PNG 、*.PCX 、*.XWD 、*.HDF 、*.ICO 、*.CUR 等。

MATLAB 7.1提供了20多类图像处理函数,几乎涵盖了图像处理的所有技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。

这些函数按其功能可分为:图像显示、图像文件I/O 、图像算术运算、几何变换、图像登记、像素值与统计、图像分析、图像增强、线性滤波、线性二元滤波设计、图像去模糊、图像变换、邻域与块处理、灰度与二值图像的形态学运算、基于边缘的处理、色彩映射表操作、色彩空间变换、图像类型与类型转换。

MATLAB 还着重在图形用户界面(GUI )的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

本文将给出MATLAB 的图像处理工具箱中的图像处理函数实现图像处理与分析的应用技术实例。

2基于MATLAB 图像处理的汽车牌照识别系统2.1系统组成基于MATLAB 图像处理的汽车牌照识别系统主要包括车牌定位、字符车牌分割和车牌字符识别三个关键环节。

Matlab环境下基于神经网络的车牌识别

Matlab环境下基于神经网络的车牌识别

Matlab环境下基于神经网络的车牌识别一、本文概述随着科技的快速发展和智能交通系统(ITS)的广泛应用,车牌识别技术已成为现代城市管理、交通监控、违法查处等多个领域的关键技术之一。

作为智能交通系统的核心组成部分,车牌识别技术旨在通过图像处理和计算机视觉的方法,从复杂多变的交通图像中准确地提取车牌信息,进而实现车辆的自动识别和跟踪。

在众多的车牌识别方法中,基于神经网络的方法因其强大的特征提取和分类能力而备受关注。

Matlab作为一款强大的数学计算和仿真软件,提供了丰富的神经网络工具箱,为用户提供了便捷的神经网络模型构建、训练和应用环境。

本文旨在探讨在Matlab环境下,如何利用神经网络技术实现高效、准确的车牌识别。

本文首先介绍了车牌识别的研究背景和意义,然后详细阐述了神经网络的基本原理及其在车牌识别中的应用。

接着,文章重点介绍了在Matlab环境下,车牌识别系统的设计和实现过程,包括图像预处理、车牌定位、字符分割和字符识别等关键步骤。

文章通过实验验证了所提出方法的有效性和优越性,并对未来的研究方向进行了展望。

通过本文的研究,旨在为车牌识别技术的发展和应用提供一定的参考和指导,同时也为相关领域的研究者和技术人员提供一种有效的解决方案。

二、车牌识别系统的基本原理车牌识别系统(License Plate Recognition, LPR)是一种通过图像处理技术自动识别和提取车辆牌照信息的系统。

在Matlab环境下,基于神经网络的车牌识别主要依赖于深度学习算法,特别是卷积神经网络(Convolutional Neural Networks, CNN)。

预处理:预处理是车牌识别的第一步,其主要目的是改善图像质量,减少噪声,并突出车牌区域。

常见的预处理步骤包括灰度化、噪声去除、边缘检测、图像增强等。

车牌定位:车牌定位是在预处理后的图像中找出车牌所在的位置。

这通常通过图像处理技术,如颜色分割、形态学操作、边缘检测等实现。

基于matlab的汽车牌照识别程序

基于matlab的汽车牌照识别程序

基于matlab的汽车牌照识别程序基于matlab的汽车牌照识别程序摘要:本次作业的任务是设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码。

关键词:车牌识别,matlab,神经网络1 引言随着我国交通运输的不断发展,智能交通系统(Intelligent Traffic System,简称ITS)的推广变的越来越重要,而作为ITS的一个重要组成部分,车辆牌照识别系统(vehicle license plate recognition system,简称LPR)对于交通管理、治安处罚等工作的智能化起着十分重要的作用。

它可广泛应用于交通流量检测,交通控制于诱导,机场,港口,小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。

由于牌照是机动车辆管理的唯一标识符号,因此,车辆牌照识别系统的研究在机动车管理方面具有十分重要的实际意义。

2 车辆牌照识别系统工作原理车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。

3 车辆牌照识别系统组成(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。

(2)车牌定位:从预处理后的汽车图像中分割出车牌图像。

即在一幅车辆图像中找到车牌所在的位置。

(3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。

《2024年基于MATLAB的车牌识别系统研究》范文

《2024年基于MATLAB的车牌识别系统研究》范文

《基于MATLAB的车牌识别系统研究》篇一一、引言随着科技的发展,车牌识别系统在交通管理、安全监控、车辆定位等领域的应用越来越广泛。

MATLAB作为一种强大的编程语言和数据处理工具,被广泛应用于图像处理和机器视觉等领域。

本文旨在研究基于MATLAB的车牌识别系统,包括系统的基本原理、实现方法、实验结果和结论。

二、车牌识别系统的基本原理车牌识别系统是一种基于图像处理和机器视觉技术的自动识别系统。

其主要原理包括图像预处理、车牌定位、字符分割和字符识别四个部分。

在MATLAB中,这些过程通过数字图像处理算法、计算机视觉算法以及机器学习算法实现。

(一)图像预处理图像预处理是车牌识别系统的第一步,主要目的是消除图像中的噪声和干扰信息,提高图像的清晰度和对比度,以便后续的图像处理和分析。

常用的预处理方法包括灰度化、二值化、滤波等。

(二)车牌定位车牌定位是车牌识别系统的关键步骤,其主要目的是从图像中准确地检测出车牌的位置。

常用的车牌定位方法包括基于颜色特征的方法、基于形状特征的方法和基于模板匹配的方法等。

在MATLAB中,可以通过边缘检测、Hough变换等方法实现车牌的定位。

(三)字符分割字符分割是将车牌图像中的每个字符分割出来的过程。

常用的字符分割方法包括投影法、连通域法等。

在MATLAB中,可以通过图像形态学操作、阈值分割等方法实现字符的分割。

(四)字符识别字符识别是将分割后的字符进行分类和识别的过程。

常用的字符识别方法包括模板匹配法、神经网络法等。

在MATLAB中,可以通过训练分类器、使用机器学习算法等方法实现字符的识别。

三、车牌识别系统的实现方法在MATLAB中,我们可以通过编写程序实现车牌识别系统的各个步骤。

具体实现方法如下:(一)图像预处理首先,对输入的图像进行灰度化和二值化处理,消除噪声和干扰信息。

然后,通过滤波等操作提高图像的清晰度和对比度。

(二)车牌定位通过边缘检测和Hough变换等方法检测出车牌的轮廓,并确定车牌的位置。

基于Matlab的车牌识别(完整版)

基于Matlab的车牌识别(完整版)

基于Matlab的车牌识别(完整版)基于Matlab的车牌识别摘要:车牌识别技术是智能交通系统的重要组成部分,在近年来得到了很大的发展。

本文从预处理、边缘检测、车牌定位、字符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。

并用MATLAB软件编程来实现每一个部分,最后识别出汽车车牌。

一、设计原理车辆车牌识别系统的基本工作原理为:将摄像头拍摄到的包含车辆车牌的图像通过视频卡输入到计算机中进行预处理,再由检索模块对车牌进行搜索、检测、定位,并分割出包含车牌字符的矩形区域,然后对车牌字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。

车牌自动识别是一项利用车辆的动态视频或静态图像进行车牌号码、车牌颜色自动识别的模式识别技术。

其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。

某些车牌识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。

一个完整的车牌识别系统应包括车辆检测、图像采集、车牌识别等几部分。

当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。

车牌识别单元对图像进行处理,定位出车牌位置,再将车牌中的字符分割出来进行识别,然后组成车牌号码输出。

二、设计步骤总体步骤为:车辆→图像采集→图像预处理→车牌定位→字符分割→字符定位→输出结果基本的步骤:a.车牌定位,定位图片中的车牌位置;b.车牌字符分割,把车牌中的字符分割出来;c.车牌字符识别,把分割好的字符进行识别,最终组成车牌号码。

车牌识别过程中,车牌颜色的识别依据算法不同,可能在上述不同步骤实现,通常与车牌识别互相配合、互相验证。

(1)车牌定位:自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定车牌区域是整个识别过程的关键。

首先对采集到的视频图像进行大范围相关搜索,找到符合汽车车牌特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为车牌区域,并将其从图象中分割出来。

基于MATLAB的车牌识别系统研究(课设参考文献)

基于MATLAB的车牌识别系统研究(课设参考文献)

1.2.3 车牌识别技术的发展趋势
5
上海交通大学硕士学位论文
绪论
车牌识别技术作为智能交通系统中的关键技术,在各国学者的共同努力下,已 经得到了长足的发展,并且已经得到了不同程度的实际应用,但目前还存在着种种 不足。
对于未来车牌识别产品的技术发展趋势, 汉王科 技智能 交通部 总经理 乔炬认 为。首先,由于市场需求不同,对识别产品的需求也有差异,因此就要求研发针对 不同细分市场的车牌识别产品。其次,随着算法的不断改进,基于视频触发技术的 车牌识别产品将得到大范围的应用,但是视频触发技术取代外触发装置尚需时日。 第三,现在的车牌识别系统设备过多,系统集成难度大,系统稳定性差,系统维护 是一个让人头疼的问题。随着技术不断进步,以往多个设备实现的功能可能由一个 设备实现。
为基础的车牌识别系统,识别率分别为 81.25%、85%、91.25%。日本对车牌图像的 获取也做了大量的研究,并为系统产业化做了大量工作。Luis [4]开发的系统应绪论
公路收费站,全天识别率达到了 90%以上,即使在天气不好的情况下也达到了 70%。 国外对车牌识别的研究起步早,总体来讲其技术已比较领先,同时由于他们车牌种 类单一,规范程度较高,易于定位识别,目前,已经实现了产品化,并在实际的交 通系统中得到了广泛的应用。由于中国车牌的格式与国外有较大差异,所以国外关 于识别率的报道只具有参考价值,其在中国的应用效果可能没有在其国内的应用效 果好,但其识别系统中采用的很多算法具有很好的借鉴意义。
上海交通大学硕士学位论文
绪论
1 绪论
1.1 研究背景
1990 年,美国智能交通学会 CITS America 提出了智能交通系统(ITS)的概念。 目前,智能交通系统已经在世界上经济发达国家的一些城市及高速公路系统中得到 了广泛应用。我国在该领域的研究起步较晚,但随着全球范围智能交通技术研究的 兴起及奥运会的成功举办,智能交通在我国也逐渐进入了应用阶段,相应的,我国 也加快了对智能交通技术研究的步伐,智能交通技术的研究现已进入快速发展期。

基于Matlab的车牌识别系统

基于Matlab的车牌识别系统

一、摘要随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。

汽车牌照的自动识别技术已经得到了广泛应用。

汽车牌照自动识别整个处理过程分为预处理、边缘提取、车牌定位、字符分割、字符识别五大模块,其中字符识别过程主要由以下3个部分组成:①正确地分割文字图像区域;②正确的分离单个文字;③正确识别单个字符。

用MATLAB软件编程来实现每一个部分,最后识别出汽车牌照。

在研究的同时对其中出现的问题进行了具体分析,处理。

二、课程设计的任务和目的任务:使用MATLAB对包含车牌的图片进行处理,利用算法识别出车牌所在的区域,并辨认其数字及字母,最后在屏幕上输出所识别出的车牌号。

目的:1、让自己巩固理论课上所学的知识,理论联系实践。

2、锻炼自己的动手能力,激发自己的研究潜能,提高我们的协作精神。

三、设计原理由于车辆牌照是机动车唯一的管理标识符号,在交通管理中具有不可替代的作用,因此车辆牌照识别系统应具有很高的识别正确率,对环境光照条件、拍摄位置和车辆行驶速度等因素的影响应有较大的容阈,并且要求满足实时性要求。

图1 牌照识别系统原理图该系统是计算机图像处理与字符识别技术在智能化交通管理系统中的应用,它主要由牌照图像的采集和预处理、牌照区域的定位和提取、牌照字符的分割和识别等几个部分组成,如图1 所示。

其基本工作过程如下:(1)当行驶的车辆经过时,触发埋设在固定位置的传感器,系统被唤醒处于工作状态;一旦连接摄像头光快门的光电传感器被触发,设置在车辆前方、后方和侧面的相机同时拍摄下车辆图像;(2)由摄像机或CCD 摄像头拍摄的含有车辆牌照的图像通视频卡输入计算机进行预处理,图像预处理包括图像转换、图像增强、滤波和水平较正等;(3)由检索模块进行牌照搜索与检测,定位并分割出包含牌照字符号码的矩形区域;(4)对牌照字符进行二值化并分割出单个字符,经归一化后输入字符识别系统进行识别。

基于MATLAB的车辆识别研究

基于MATLAB的车辆识别研究

基于MATLAB的车牌识别研究摘要随着我国公路事业的发展,人工管理方式已经不能满足如今实际的需要。

车牌识别技术是计算机视频图像识别技术在车辆牌照识别中的一种应用,是现代智能交通系统(Intelligent Traffic System,简称ITS)中的重要组成部分之一。

车牌识别系统(vehicle license plate recognition system,简称LPR)使车辆管理更加智能化、数字化,有效提升了交通管理的效率。

对于交通管理、治安处罚等工作的智能化起着十分重要的作用。

它可广泛应用于交通流量检测,交通控制与诱导,机场、港口、小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。

而牌照作为机动车辆管理的唯一标识符号,使得车辆牌照识别系统的研究在机动车管理方面具有重要的实际意义。

本文通过对题目的研究,设计了一个基于Matlab软件的车牌识别程序,可实现图像预处理、车牌定位、字符分割,然后通过神经网络对车牌进行字符识别,从图像中提取车牌中的字母和数字,从而得到文本形式的车牌号码。

其中,图像预处理是通过图像灰度化及Roberts算子进行边缘检测完成。

车牌定位是通过数学形态法来确定,然后再通过车牌彩色信息的彩色分割法来完成车牌的切割。

字符分割是将车牌部分进行二值化后,进行垂直投影以及对投影部分扫描得到。

通过用该算法对三个问题中的照片和视频进行处理,可识别车辆牌照:问题1:image_1.jpg中牌照信息肉眼可识别为渝A•7Y618,但本算法未将汉字识别;image_2.jpg中牌照信息肉眼可识别为渝B•PY287,但本算法未将汉字识别,未将数字完整识别;image_3.jpg中牌照信息肉眼可识别为渝B•XW192,但本算法未能识别;问题2:image_4.jpg中牌照信息肉眼可识别为渝B•SU298,但本算法未能识别;image_5.jpg中牌照信息未能识别;问题3:video.avi中肇事车辆牌照信息未能识别。

matlab在汽车牌照识别系统中的应用

matlab在汽车牌照识别系统中的应用

MATLAB在汽车牌照识别系统中的应用摘要:汽车普及程度的提高使得智能交通技术迅猛发展,汽车牌照识别系统是智能交通管理领域和数字图像处理领域里的热点问题。

汽车牌照识别系统主要由图像预处理,边缘提取,字符定位,字符分割,字符识别几个部分组成。

本文介绍了MATLAB在汽车牌照图像处理识别系统中的部分应用。

该系统通过调用MATLAB函数,综合使用多种方法提高系统的有效识别能力。

关键词:MATLAB 边缘提取字符分割字符识别Application of MATLAB in License Plate Recognition SystemWANG Yanyan(School of Transportation Science and Engineering of BeihangUniversity, Beijing, 100191, China)Abstract: In this paper, CAN bus technology and SAE J1939 protocol are studied and a digital vehicle instrument solution based on Freescale's MC9S12HZ256 MCU is proposed. The message frame format and some engine-re lated parameters’ definition in SAE J1939 application layer protocol are introduced in detail. Stepper motor and its driver, also the methods for speed signal processing are introduced too. The hardware platform of digital vehicle instrument is composed by MCU, signal acquisition module and signal processing anddisplaying module. Data receiving and processing from CAN bus and sensors are accomplished by programming and vehicle condition can be reflected in real-time.Key words:digital vehicle instrument; MC9S12HZ256; stepper motor; CAN bus; SAE J1939引言车牌识别(License Plate Recognition System,LPRS)系统是计算机视觉与模式识别技术在智能交通领域应用的重要研究课题之一,是智能交通系统(Intelligent Transportation System,ITS)的重要组成部分。

数字图像处理车牌识别课程设计matlab实现附源代码

数字图像处理车牌识别课程设计matlab实现附源代码

基于 matlab 的车牌识别系统一、目的与要求目的:利用 matlab 实现车牌识别系统,熟悉matlab应用软件的根底知识,了解了根本程序设计方法,利用其解决数字信号处理的实际应用问题,从而加深对理论知识的掌握,并把所学的知识系统、高效的贯穿到实践中来,防止理论与实践的脱离,稳固理论课上知识的同时,加强实践能力的提高,理论联系实践,提高自身的动手能力。

同时不断的调试程序也提高了自己独立编程水平,并在实践中不断完善理论根底,有助于自身综合能力的提高。

要求:1.理解各种图像处理方法确切意义。

2.独立进展方案的制定,系统构造设计要合理。

3.在程序开发时,那么必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。

如果使用matlab 来进展开发,要理解每个函数的具体意义和适用X围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。

4、通过多幅不同形式的图像来检测该系统的稳定性和正确性。

二、设计的内容学习 MATLAB 程序设计,利用MATLAB 函数功能,设计和实现通过设计一个车牌识别系统。

车牌识别系统的根本工作原理为:将手机拍摄到的包含车辆牌照的图像输入到计算机中进展预处理,再对牌照进展搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进展二值化并将其分割为单个字符,然后将其逐个与创立的字符模板中的字符进行匹配,匹配成功那么输出,最终匹配完毕那么输出那么为车牌的数字。

车牌识别系统的根本工作原理图如图1所下所示:车辆字符分割字符识别图像采集车牌的定位三、总体方案设计车辆牌照识别整个系统主要是由车牌定位和字符分割识别两局部组成,其中车牌定位又可以分为图像预处理及边缘提取模块和牌照的定位及分割模块;字符识别可以分为字符分割和单个字符识别两个模块。

为了用于牌照的分割和牌照字符的识别,原始图象应具有适当的亮度,较大的比照度和清晰可辩的牌照图象。

但由于是采用智能手机在开放的户外环境拍照,加之车辆牌照的整洁度、自然光照条件、拍摄时摄像机与牌照的矩离等因素的影响,牌照图象可能出现模糊、歪斜和缺损等严重缺陷,因此需要对原始图象进展识别前的预处理。

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

摘要车牌识别技术是智能道路交通管理的重要内容,其识别的准确性和可靠性直接影响到交通管理系统的性能。

车牌识别技术包括车牌图像获取、车牌定位、车牌分割、车牌校正、车牌字符分割、车牌字符归一化和车牌字符识别,本文重点针对车牌图像的分割和车牌数字的识别进行了算法研究和设计,同时也对其它步骤进行了探讨。

论文首先对获取的车牌图像进行了预处理,包括车牌图像增强、车牌区域提取、车牌几何校正以及车牌字符分割和归一化,然后设计了BP网络算法,最后在MATLAB平台上设计实现了以上各种算法。

实验结果表明,本文中的分割算法能准确的获取字符区域并实现对字符的分割和归一化,经过训练后的BP网络能稳定、可靠的实现对分割后字符的识别,实验结果达到预期要求。

关键词:MA TLAB;车牌分割;图像预处理;数字识别AbstractLicense plate recognition technology is an important content of intelligent traffic management, accuracy and reliability identification directly affects the performance of traffic management system. License plate recognition technology include license plate image acquisition, license plate location, license plate segmentation, license plate correction, license plate character segmentation, normalization of license plate character segmentation and license plate character recognition. This paper mainly design and research on the algorithm for license plate image segmentation and license plate number recognition, but also for other steps. Firstly, the thesis get the license plate image preprocessing, including license plate image enhancement, plate region extraction, plate geometric correction and license plate character segmentation and normalization, and then designs the BP network algorithm, finally use the MATLAB platform to design algorithms to implement above. Experimental results show that the segmentation algorithm in this thesis can obtain character area and realize the character segmentation and normalization accurately, after training the BP network can implement the recognition for character segmentation stably and reliably, the experimental reaches expectation.Keywords: MATLAB; License plate segmentation; Image preprocessing; Digital identification目录摘要 (I)ABSTRACT (I)1 绪论 (1)1.1引言 (1)1.2车牌识别技术概述 (1)1.3车牌分割和数字识别的发展历史和现状 (2)1.4车牌分割和数字识别在车牌识别中的作用 (3)1.5本文的主要内容与结构安排 (3)2 车牌分割方法 (4)2.1车牌获取 (4)2.2车牌预处理 (4)2.3车牌分割 (7)3 车牌数字识别方法 (11)3.1数字识别概述 (11)3.2车牌数字特点 (11)3.3基于神经网路的车牌数字识别 (12)4 基于MATLAB的算法设计与实现 (15)4.1MATLAB概述 (15)4.2车牌分割算法设计 (15)4.3车牌字符识别算法设计 (24)5 总结与展望 (31)5.1总结 (31)5.2展望 (31)参考文献 (32)致谢 (34)1 绪论1.1 引言近年来,由于国内外的交通迅速发展,车牌识别系统作为数字摄像、计算机信息管理、图像分割和图形识别技术在智能交通领域得到广泛的应用,该项技术成为了智能交通管理系统中不可或缺的重要组成部分,例如道路交通监控、交通事故现场勘察、交通违章自动记录、高速公路超速管理系统、小区智能化管理等各方面,是智能交通管理系统中高效、时效的最重要手段之一[1-2]。

目前,全球各国都在研究适合于本国的车牌识别系统,美国、日本、韩国等诸多国家都已经研究出相关的识别系统(基于传感器)。

由于引进这些系统成本极高,而且引进的技术也不一定适用于我国的车牌以及实际的交通环境,所引进的系统往往并不能满足我国需求,尽管国内市场上已有不少投入生产并使用的产品,但是这些产品的后续处理仍然需要大量的人工识别,所以车牌识别技术的研究依然是我国目前高科技领域的热门课题之一。

为了促使车牌识别技术的快速发展,需要对该项技术提出更高的要求,使得该项技术日益精湛。

该系统软件处理具有两大主要模块:图像处理模块和字符识别模块。

由于MATLAB语言对图像处理和字符识别异常方便,在数字图像处理中有着其他语言所无法比拟的优势,由于它能直接调用预先编好的函数,使得整个系统有了较高的保障。

所以本文介绍的是利用MATLAB对图像处理模块和字符识别模的设计和研究。

1.2 车牌识别技术概述随着日益发展的计算机科技和不断提高的硬件水平,数字识别技术以及人工智能理论的有效结合,智能车牌识别技术发展日趋完善。

智能车牌识别系统以及工作原理实质上就是融合数字摄像技术和计算机信息管理技术,采用先进的数字图像处理工具、数字识别以及人工智能技术,通过对原始图像的采集、预处理、分割、识别等相应的措施,获得我们想要的图像信息,进而实现对车牌字符自动识别的系统,该系统是数字识别技术在现实生活中实际应用中的实践之一。

目前,一个完整的车牌识别系统需要完成从图像采集到字符的识别以及输出的复杂过程,需要硬件和软件两大组成部分。

其中硬件包括系统触发、图像采集两个主要组成部分,软件则包含了图像预处理、车牌获取、字符分割以及字符识别四个主要模块。

一个完整的车牌识别系统主要结构如图1.1所示:图 1.1 车牌识别系统结构图1.3 车牌分割和数字识别的发展历史和现状自1988年提出车牌识别(License Plate Recognition,LPR)技术以来,人们己经对其进行了广泛的研究,而近些年来,车牌识别的技术发展迅速,就识别基础而言,主要可以分为基于IC(即无线电频率鉴别(REID))或是基于条码识别的间接法和基于图像车牌识别的直接法。

原始的图像采集,由于受到外界环境中光线差异、光路中灰尘密度差异、季节环境变化的影响,以及车牌本身比较模糊等诸多客观因素影响,使得LPR技术的发展受到一定的限制。

为了解决图像的恶化等问题,国内外的许多研究机构、高校以及公司企业采取的主要采用的方法是主动红外照明摄像或使用特殊的传感器来提高图像的质量,从而提高识别率,但这种做法的同时也使得投资的成本加大了不少,且减小了应用领域,不并适合普遍的推广及工业生产。

国外己有不少关于车牌数字识别的文章发表,有相当一部分比较成熟,并已经投入实际生产使用中。

早在70年代,国外就已经存在自动车牌检测系统,且应用于检查被盗车辆的情况,车牌识别系统发展到今天,已经达到较高的应用水平。

在车牌识别发展的过程中,也出现了许多不同的技术方法,例如英国IPI公司研发了RTVNPR 系统,新加坡Optasia公司的VLPRS 产品,以色列Hi-Tech公司的See Car System系列产品,HSTOL公司开发的LPR系统,以及中国香港Asia VisionTechnology 公司的VECON产品等较为实用[3]。

由于VECON系统和VLPRS系统都只是适合于当地的车牌,摒弃See Car System 对我国的汉字识别较低,加上我国车牌自动识别的研究起步较晚,且我国的车牌并不规范,多样化,不同的车型车牌规格、大小、颜色也不同,这也就造成了对车牌识别相当大的困难。

目前,比较适合我国的产品主要有中科院自动化研究所汉王公司的“汉王眼”、川大智胜软件的ZT2000车牌自动别系统等。

与此同时,国内许多研究机构和高等院校也开始对车牌识别系统进行理论研究与实际开发。

1.4 车牌分割和数字识别在车牌识别中的作用车牌识别系统的核心是微处理器,它基于图像处理、数字识别等技术的高智能电子系统,该系统主要由摄像头、视频采集接口、辅助照明装置、计算机以及识别软件等组成。

基本过程是摄像头所拍摄的原始图像通过视频采集接口输入计算机,通过所预设的识别软件进行识别并输出。

因此,在车牌识别中,车牌分割和数字识别占有主要的作用。

在车牌识别系统中,车牌分割需要完成的任务是将原始图像中的车牌区域分割出来,并将车牌字符准确的切分出来。

在正式识别前,我们要做的仅仅是字符的分割,字符分割的好坏,直接影响着字符识别的准确率。

也就是说,一个好的车牌识别系统的前提是有一个好的车牌分割模块,无法将字符很好的从原始图像中分割出来,意味着字符无法被准确的识别,也就意味着该车牌自动识别系统无法投入实际中应用。

经过图像预处理、车牌定位、字符分割并校正后,才可以进行字符识别。

车牌识别中最关键的步骤就是字符识别。

字符识别模块是目前最难处理的部分,却也是车牌识别技术中最关键的部分。

字符的识别率和识别时间是字符识别性能的主要技术指标。

快速、准确以及具备较强的鲁棒性是字符识别的目标。

一个好的车牌自动识别系统,关键就看其字符识别的性能。

由此可知,车牌分割和数字识别是车牌识别技术中的两大主要技术指标。

相关文档
最新文档