文档库 最新最全的文档下载
当前位置:文档库 › 车牌识别(字符切割)大作业

车牌识别(字符切割)大作业

车牌识别(字符切割)大作业
车牌识别(字符切割)大作业

图像处理技术

目录一.引言 (1)

二.目的和意义 (1)

三.设计原理 (1)

四.字符分割程序 (2)

五.结果 (4)

六.测试代码 (5)

七.系统的不足 (5)

八.总结 (5)

九.心得体会 (5)

十.致谢 (6)

十一.参考文献 (6)

一.引言

随着人们生活水平的不断提高,机动车辆数量大幅度增加,与之相配套的高速公路,城市路网及停车场越来越多,显著提高了人们对交通控制方面的要求。由于计算机技术的发展,信息处理水平的提高使智能交通系统成为世界交通领域研究的重要课题。其中车牌识别是智能交通系统的重要组成部分。车牌识别系统能够自动、实时地检测车辆、识别汽车车牌,从而监控车辆的收费、闯关、欠费以及各种舞弊现象。本系统为基于蓝色车牌的车牌识别系统,它能够识别非蓝色车辆的蓝底白字车牌。该系统通过车牌提取、车牌定位、预处理、字符分割、字符识别五个模块组成车牌识别系统。

二.目的和意义

通过对车牌识别系统的研究,自己开发小型车牌识别系统,虽有一定的局限性与不完整性,但可以使自己更加的熟悉MATLAB语言,激发对研究的兴趣,拓宽知识面,为自己以后的研究打下基础。在提升自身科研能力的同时,还能提高团队合作精神,清楚团队成员的分工,协调成员间的工作,为今后的团队合作研究积累经验。

三.设计原理

字符分割在此系统中有着承前启后的作用。它在前期车牌定位的基础上进行字符的分割,然后利用分割的结果进行字符的识别。字符识别的算法很多,应为车牌字符间间隔较大,不会出现字符粘连的情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为组成该块有两个字符,需要分割。一般分割出来的字符要进行进

一步的处理,以满足下一步字符识别的需要。但是对于车牌的识别,并不需要太多的处理就可以达到正确的目的。在此系统中只进行了归一化处理,然后进行后期处理。

四.字符分割程序

function Img_cat(I)

% 寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割

d=qiege(I);

[m,n]=size(d);

k1=1;k2=1;s=sum(d);j=1;

while j~=n

while s(j)==0

j=j+1;

end

k1=j;

while s(j)~=0 && j<=n-1

j=j+1;

end

k2=j-1;

if k2-k1>=round(n/6.5)

[val,num]=min(sum(d(:,[k1+5:k2-5])));

d(:,k1+num+5)=0; % 分割

end

end

% 再切割

d=qiege(d);

% 切割出7 个字符,首先对车牌图像自左向右逐列扫描,寻找连续有文字的区间块,将该区间块的有效宽度与某一固定阈值(本文设定的阈值为10,可更改)进行比较,若小于该设定阈值,则认为是左侧干扰,裁剪干扰区域;反之,分割出该模糊字符块

y1=10;y2=0.25;flag=0;word1=[];

while flag==0 %flag为自定义,用作标记循环

[m,n]=size(d); %返回矩阵d的尺寸信息,并存储在m,n中。其中m中存储的是行数,n中存储的是列数

left=1;wide=0;

while sum(d(:,wide+1))~=0

wide=wide+1;

end

if wide

d(:,[1:wide])=0;%将字符区域设置为黑色

d=qiege(d);%处理干扰后切割出该黑色区域

else

temp=qiege(imcrop(d,[1 1 wide m]));%分割出该模糊字符块

[m,n]=size(temp);

all=sum(sum(temp));

two_thirds=sum(sum(temp([round(m/3):2*round(m/3)],:)));

if two_thirds/all>y2 图像归一化处理

flag=1;word1=temp;

end

d(:,1:wide)=0;d=qiege(d);

end

end

% 分割出第2~7个字符

[word2,d]=getword(d);

[word3,d]=getword(d);

[word4,d]=getword(d);

[word5,d]=getword(d);

[word6,d]=getword(d);

[word7,d]=getword(d);

[m,n]=size(word1);

% 商用系统程序中归一化大小为40*20,此处演示word1=imresize(word1,[40 20]);

word2=imresize(word2,[40 20]);

word3=imresize(word3,[40 20]);

word4=imresize(word4,[40 20]);

word5=imresize(word5,[40 20]);

word6=imresize(word6,[40 20]); word7=imresize(word7,[40 20]);

imwrite(word1,'save\1.jpg'); imwrite(word2,'save\2.jpg'); imwrite(word3,'save\3.jpg'); imwrite(word4,'save\4.jpg'); imwrite(word5,'save\5.jpg'); imwrite(word6,'save\6.jpg'); imwrite(word7,'save\7.jpg'); End

五.结果

六.测试代码

function zln_Main()

a=imread('save\dw.jpg');

[d]=Img_process(a);

Img_cat(d);

figure

subplot(1,7,1),imshow(imread('save\1.jpg')),title('word1');

subplot(1,7,2),imshow(imread('save\2.jpg')),title('word2');

subplot(1,7,3),imshow(imread('save\3.jpg')),title('word3');

subplot(1,7,4),imshow(imread('save\4.jpg')),title('word4');

subplot(1,7,5),imshow(imread('save\5.jpg')),title('word5');

subplot(1,7,6),imshow(imread('save\6.jpg')),title('word6');

subplot(1,7,7),imshow(imread('save\7.jpg')),title('word7');

end

七.系统的不足

基于蓝色车牌的车牌识别系统无法识别蓝色车身的车牌和其他颜色的车牌;以提取的无倾斜车牌为研究对象,忽略了车牌的倾斜问题;提取车牌模板时的光照问题;车牌边框、柳丁以及车牌亮度不均等不利因素;车牌背景的限制(不能有大面积的蓝色障碍物)。

八.总结

在车牌识别系统的字符分割部分实现,通常有间距、间隙切分法,投影法,识别切分法。本系统采用的是投影法,利用垂直投影(即一列

一列的统计像素)来进行字符分割,计算每一列中心黑色像素的总和,这种切分虽然速度快,但对不规范的字符会出现误分割的情况。字符分割的具体算法:在图像的大致高度中(在qiege程序实现)自左向右的逐列扫描,遇到第一个黑色像素则是字符分割的起始位置,继续扫描,直至有一列没有黑色像素,则认为分割结束,继续这种方法直至图像最右端,这样则找到每个字符的稍精确的宽度范围。在一直每个字符的范围内,再自上而下和自下而上逐行扫描。

九.心得体会

本车牌识别系统主要包括车牌提取、车牌定位、预处理、字符分割、字符识别。本人负责车牌的字符分割,本文主要探讨了字符分割的方法及算法分析。在字符分割过程中,我们用的是垂直投影法,这种方法的主要优点是在二值化很好的情况下,可以很好的把字符分割出来,但是在二值化并预处理后仍有字符粘连的情况字符无法分割。在此系统的完成过程中,我发现好多系统项目都有相似之处,我相信在钻研本系统中所得到的收获对以后的其他课题研究有很大帮助。而且增强团队之间的团结协作的能力,我更喜欢组织的探讨问题的氛围,学习到了他人的长处明白了自己的不足。

十.致谢

组长:xxx。在他的帮助下我能系统的掌握设计一个项目的流程及应该注意的事项。他帮助我解决了自己解决不了的许多问题。

十一.参考文献

张德丰.详解MATLAB数字图像处理

杨为民.王世文.车牌自动识别技术及应用邹永星.车牌字符分割方法的研究

白建华.车牌字符分割及识别算法研究

车牌识别地matlab程序

( 附录 车牌识别程序 clear ; close all; %Step1 获取图像装入待处理彩色图像并显示原始图像 Scolor = imread('');%imread函数读取图像文件 %将彩色图像转换为黑白并显示 Sgray = rgb2gray(Scolor);%rgb2gray转换成灰度图 " figure,imshow(Scolor),title('原始彩色图像');%figure命令同时显示两幅图 figure,imshow(Sgray),title('原始黑白图像'); %Step2 图像预处理对Sgray 原始黑白图像进行开操作得到图像背景s=strel('disk',13);%strel函数 Bgray=imopen(Sgray,s);%打开sgray s图像 figure,imshow(Bgray);title('背景图像');%输出背景图像 %用原始图像与背景图像作减法,增强图像 Egray=imsubtract(Sgray,Bgray);%两幅图相减 ¥ figure,imshow(Egray);title('增强黑白图像');%输出黑白图像 %Step3 取得最佳阈值,将图像二值化 fmax1=double(max(max(Egray)));%egray的最大值并输出双精度型 fmin1=double(min(min(Egray)));%egray的最小值并输出双精度型 level=(fmax1-(fmax1-fmin1)/3)/255;%获得最佳阈值 bw22=im2bw(Egray,level);%转换图像为二进制图像 bw2=double(bw22); %Step4 对得到二值图像作开闭操作进行滤波 、 figure,imshow(bw2);title('图像二值化');%得到二值图像 grd=edge(bw2,'canny')%用canny算子识别强度图像中的边界

车牌的定位与字符分割报告

车牌的定位与分割 实验报告 一实验目的 针对交通智能系统所拍摄的汽车图片,利用设定的算法流程,完成对汽车车牌部分的定位,分割车牌部分,并完成字符的分割,以便于系统的后续分析及处理。 二实验原理 详见《车牌的定位与字符分割》论文。 三概述 1一般流程 车牌自动识别技术大体可分为四个步骤:图像预处理、车牌定位与分割、车牌字符的分割和车牌字符识别。而这四个步骤又可归结为两大部分:车牌分割和车牌字符识别。 图1-1为车牌自动识别技术的一般流程图。 2本实验的流程 (1)图像预处理:图像去噪 (2)车牌的定位:垂直边缘检测(多次)形态学处理的粗定位

合并邻近区域结合车牌先验知识的精确定位 (3)车牌预处理:车牌直方图均衡化倾斜校正判定(蓝底白字或者黄底黑字)归一化、二值化 (4)字符的分割:垂直投影取分割阈值确定各个字符的左右界限(结合字符宽度、间隔等先验知识)分割字符 四实验过程 4.1图像预处理 4.1.1图像去噪 一般的去噪方法有:空间域上的均值滤波和中值滤波;频率域上的巴特沃斯滤波器。图4-1是各滤波器处理椒盐噪声的效果。 a.被椒盐噪声污染的图片 b.均值滤波的效果图 c.中值滤波的效果图 d.BLPF的效果图 图4-1 各滤波器处理椒盐噪声的仿真 可见,中值滤波对椒盐噪声的处理效果极好,而一般所拍摄的图片上最多的便是孤立的污点,所以此处以中值滤波为主进行去噪。图4-2是采用中值滤波处理实际汽车图片的效果。

a.原始图像 b.灰度图像 c.中值滤波后的图像 图4-2 中值滤波处理实际汽车图片的效果 很显然,经过中值滤波后去除了原图上的部分污点。 4.1.2图像复原 由于通常情况下都不知道点扩展函数,所以我们采用基于盲解卷积的图像复原策略。 图4-3~4-7图是函数进行盲解卷积的实验结果,其中图4-3是图像cameraman 的模糊图像。 图4-3 模糊图像 在盲解卷积处理中,选择适当大小的矩阵对恢复图像的效果很重要。PSF的大小比PSF的值更重要,所以首先指定一个有代表性的全1矩阵作为初始PSF。恢复的图像如图4-4所示,初始PSF如图4-5所示。

车牌识别(字符切割)大作业

图像处理技术

目录一.引言 (1) 二.目的和意义 (1) 三.设计原理 (1) 四.字符分割程序 (2) 五.结果 (4) 六.测试代码 (5) 七.系统的不足 (5) 八.总结 (5) 九.心得体会 (5) 十.致谢 (6) 十一.参考文献 (6)

一.引言 随着人们生活水平的不断提高,机动车辆数量大幅度增加,与之相配套的高速公路,城市路网及停车场越来越多,显著提高了人们对交通控制方面的要求。由于计算机技术的发展,信息处理水平的提高使智能交通系统成为世界交通领域研究的重要课题。其中车牌识别是智能交通系统的重要组成部分。车牌识别系统能够自动、实时地检测车辆、识别汽车车牌,从而监控车辆的收费、闯关、欠费以及各种舞弊现象。本系统为基于蓝色车牌的车牌识别系统,它能够识别非蓝色车辆的蓝底白字车牌。该系统通过车牌提取、车牌定位、预处理、字符分割、字符识别五个模块组成车牌识别系统。 二.目的和意义 通过对车牌识别系统的研究,自己开发小型车牌识别系统,虽有一定的局限性与不完整性,但可以使自己更加的熟悉MATLAB语言,激发对研究的兴趣,拓宽知识面,为自己以后的研究打下基础。在提升自身科研能力的同时,还能提高团队合作精神,清楚团队成员的分工,协调成员间的工作,为今后的团队合作研究积累经验。 三.设计原理 字符分割在此系统中有着承前启后的作用。它在前期车牌定位的基础上进行字符的分割,然后利用分割的结果进行字符的识别。字符识别的算法很多,应为车牌字符间间隔较大,不会出现字符粘连的情况,所以此处采用的方法为寻找连续有文字的块,若长度大于某阈值,则认为组成该块有两个字符,需要分割。一般分割出来的字符要进行进

基于垂直投影法的车牌字符分割算法设计

毕业论文(设计) 学院: 计算机科学学院 专业: 软件工程年级: 题目:基于垂直投影法的车牌字符分割算法设计学生姓名: 学号: 指导教师姓名: 职称: 年月

XXXX大学本科毕业论文(设计)原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名:年月日 目录 摘要 (1)

Abstract (1) 第一章绪论 (1) 1.1车牌识别技术的背景 (1) 1.2 车牌识别系统的工作原理 (2) 1.3 国内外研究 (3) 1.4 本文主要内容 (3) 第二章基本理论介绍 (3) 2.1 数字图像处理技术 (3) 2.1.1 bmp位图 (4) 2.1.2 RGB编码方式 (4) 2.1.3二值图像 (4) 2.1.4 Otsu算法 (4) 2.1.5灰度图像 (5) 2.1.6 中值滤波 (5) 第三章车牌图像的预处理 (5) 3.1车牌图像的灰度化 (5) 3.2车牌图像的二值化 (5) 3.3 去噪处理 (6) 3.3.1去除车牌边框 (7) 3.3.2去除车牌图像中的圆点 (8) 第四章车牌字符分割算法 (8) 4.1传统垂直投影的车牌字符分割算法 (8) 4.2 改进的垂直投影的车牌字符分割算法 (9) 第五章系统实现 (10) 第六章总结与展望 (13) 6.1 总结 (13) 6.2 展望 (13) 致谢 (14) 参考文献 (15)

基于垂直投影法的车牌字符分割算法设计 摘要:车牌识别系统在现代社会有着广泛应用,而车牌字符分割是其中的一项关键技术。本文针对车牌字符分割算法做了较为深入的研究。首先,要想正确的分割车牌图像,必须得到质量较好的车牌二值化图像。所以,本文对车牌字符分割的预处理部分进行较为深入的研究,尤其是车牌图像二值化后的去噪处理。传统投影法对车牌图像要求比较高,容易受到噪声的影响,从而造成分割字符的粘连与断裂。针对传统投影法的不足,文章提出一种基于垂直投影法的改进的字符分割算法,该算法可以有效地识别车牌字符。该方法抗干扰能力较强,能有效的减少字符粘连与断裂,分割准确度较高。 关键词:车牌识别;二值化;字符分割;垂直投影法 Vertical projection-based license plate character segmentation algorithm design Abstract:License plate recognition system has a wide range of applications in modern society, the license plate character segmentation is a key technology. In this paper, the license plate character segmentation algorithm to do a more in-depth study. First of all, in order to correct segmentation of license plate image must be of good quality license plate binary image. So more in-depth study of the pre-processing part of the license plate character segmentation, especially after the license plate image binarization denoising. Traditional projection on the license plate image requires relatively high, easily affected by noise, resulting in a split character adhesion and fracture. For the lack of traditional projection method, the paper presents a segmentation algorithm based on the improvement of the vertical projection of the characters, the algorithm can effectively identify the license plate character. Strong anti-interference ability of the method, which can effectively reduce the character adhesion and fracture, split high degree of accuracy. Keywords License Plate Recognition; binarization ;Character segmentation; Vertical projection 第一章绪论 随着世界经济的快速发展,以及汽车制造技术的提高,使得汽车迅速成为人们日常生活中的一个必需品。这造成全球的汽车数量猛增,而随之也导致城市的交通压力越来越大,城市的交通状况也因此得到了更多的关注。如何有效地对交通进行管理,也成为各国政府和相关部门所关注的焦点和热点。针对这些问题,人们开始将计算机技术、通信技术、计算机网络技术和自动化信息处理等很多新的科学技术用于交通道路的监视和管理系统,以此提高车辆管理和运输的效率。它主要是通过对过往车辆实施检测,提取有关的交通数据来达到对交通的监控、管理和指挥。车牌自动识别技术[1]是指能够检测到受监控路面的车辆并自动提取车辆车牌信息(含汉字字符、英文字母、阿拉伯数字及号牌颜色)进行处理与识别的技术。它以计算机技术、图像处理技术、模糊识别技术为基础,建立运动车辆的特征模型,识别车辆特征,如号牌、车型、颜色等,并着重解决高速车辆图像的获取及清晰度问题。本文是在以往的车牌分割算法[2]的基础上介绍了车牌识别技术中的一种字符分割算法,该算法是针对一种已有的字符分割算法(投影法)的改进性研究。 1.1车牌识别技术的背景 随着21 世纪经济全球化和信息时代的到来,迅猛发展的计算机技术、通信技术和计算机网络技术,水平不断提高的自动化信息处理技术在人们社会活动和生活的各个领域得到广泛应用。同时,高速度、高效率的生活节奏,使汽车普及成为必然趋势。伴随着世界各国汽车数量的增加,城市的交通状况越来越受到人们的重视。如何有效地进行交通管理日益成为各国政府相关部门所关注的焦点。针对这一问题,

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

基于matlab的车牌识别系统 一、对车辆图像进行预处理 1.载入车牌图像: function [d]=main(jpg) [filename, pathname] = uigetfile({'*.jpg', 'JPEG 文件(*.jpg)'}); if(filename == 0), return, end global 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]);%构造结构元素以正方形构造一个se

基于opencv2.0的车牌检测与字符分割的代码

本程序主要实现的是车牌的定位与检测 主要是利用申继龙论文里面的方法 1、采集得到的图像 2、把RGB图像转换成HSI彩色图像 3、利用设定的H、S阈值得到二值图像 4、对二值图像水平投影获得候选区域 5、对候选区域的HSI图像边缘检测 */ #include "stdafx.h" #include "opencv2/opencv.hpp" #include "opencv2/objdetect/objdetect.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/calib3d/calib3d.hpp" #include "opencv2/nonfree/nonfree.hpp" #include "opencv2/nonfree/features2d.hpp" #include "opencv2/imgproc/imgproc_c.h" #include "opencv2/legacy/legacy.hpp" #include "opencv2/legacy/compat.hpp" #include #include #include #include #include #include #include #include #include using namespace std; using namespace cv; #define pi 3.14159265 IplImage* srcImage=NULL;//存储原图片 IplImage*srcImage1=NULL;//存储原始图片的副本 IplImage* HSI=NULL; static IplImage* grayImage=NULL;//存储原图片灰度图 static double posdouble=0.0; IplImage* channelOneImage=NULL; IplImage* channelTwoImage=NULL; IplImage* channelThreeImage=NULL; IplImage* plateImage=NULL;//存储车牌图像 IplImage* grayPlateImage=NULL;//存储车牌灰度图像 vectorcharacterImageList;//存储7个车牌字符图像的容器vectorxList;//存储7个车牌字符的起始和结束位置

(完整word版)字符分割

在车牌自动识别系统中最重要的指标是字符的识别率,对字符识别的准确率直接影响了系统的性能。字符识别部分由车牌图像的二值化、滤波、字符分割、字符大小规一化、汉字、字母和数字识别等模块组成。这一周我主要学习了字符分割模块的有关内容。 车牌字符分割的任务就是把多行或多字符图像中的每个字符从整个图像中分割出来,使其成为单个字符图像,为下一步将标准的单个字符输入到字符识别模块做准备。字符分割是字符识别的基础,字符分割的质量直接影响到字符识别的效果。字符分割之前,首先要进行图像的二值化,然后再进行字符分割,从而分割出一个个具体的二值图表示的字符图像点阵,作为单字识别的输入数据。由于文本图像不但包括了组成文本的一个个字符,而且包含了字符行间距与字符间的空白,甚至还会带有各种标点符号,这就需要采用一定的处理技术将文本中的一个个字符切分出来,形成单个字符的点阵,以便进行字符识别。车牌字符分割的原理主要是利用车牌字符自身的一些特点如规则整齐的排列、字符之间有一定的间隔、字符的宽高比例固定等等,对车牌区域进行垂直方向的投影,利用字与字之间的空白间隙在图像行垂直投影上形成的空白间隙将单个汉字的图像切割开来。 4.2投影分割 投影分割方法的原理是首先将车牌图像转换为二值图像(设白色为1,黑色为0),然后将车牌像素灰度值按垂直方向累加,即所谓的垂直投影。由于车牌中字符之间的灰度值通常为O,因此,投影图将会在字符之间形成谷底,或者说在字符处形成波峰(一种特殊的波峰)。通过寻找两个波峰之间的谷点,将其作为字符分割的位置,完成字符的分割。投影分割法的具体步骤如下: (1)先自下而上对图像进逐行扫描直至遇到第一个白色象素点。记录下来,然后再由上而下对图像进行逐行扫描直到找到第一个白色象素点,这样,就找到图像大致的高度范围。(2)在这个高度范围之内再自左向右逐行扫描,遇到第一个白色象素时认为是字符分割的起始位置,然后继续扫描,直至遇到没有白色象素的列,则认为是这个字符分割结束。然后继续按照上述的方法扫描,直至图像的最右端,就得到每个字符比较精确的宽度范围。(3)在已知的每个字符比较精确的宽度范围内,按照(1)的方法,分别进行自上而下和自下而上的逐行扫描来获得每个字符精确的高度范围。投影分割的方法比较常用,主要是针对在车牌定位、图像预处理后比较规则的车牌图像。它的优点是程序逻辑设计简单,循环执行功能单一,便于设计和操作,程序执行时间短。缺点是由于车牌图像通常会有噪声,产生字符的断裂和交叠等情况,在投影时字符之间的谷底会受到很大影响,造成谷底不明显,严重时谷底会消失,造成字符分割误差甚至错误,最终影响字符的识别。因此该方法对车牌字符的断裂和交叠问题,解决得不很理想。 4.3基于聚类分析的字符分割 基于聚类分析的字符分割原理是按照属于同一个字符的像素构成一个连通域的原则,再结合牌照字符的高度、间距的固定比例关系等先验知识,来分割车牌图像中的字符。其具体算法步骤为: (1) 以等于车牌图像宽度七分之一的阈值‘对车牌图像按行进行逐行扫描,如果有线段的长度大于‘就可以认为是牌照的上下边框,再以等于车牌图像高度五分之三的阈值Z:对车牌图像按列进行逐列扫描,如果有线段的长度大于厶,则认为是车牌的左右边框。因此可除去车牌边框部分。 (2)根据车牌字符的先验知识,在预处理好的车牌图像上预设7个类中心。设置类中心可以采用程序提示给定坐标值的方法,也可以采用给予固定坐标值的方法。 (3)自下向上对图像进行逐行扫描,每扫描到一个白色象素时,都要与上述每个类已获得的每个(白色)象素比较距离d,找到与该象素距离最近的已获得象素点,并认为这两个象素属于同一类,即属于同一字符。距离d取两个象素点:彳(x,Y)扫描得到的当前象素,曰O,),)

车牌识别系统是如何实现的

车牌识别系统是如何实现的 智能交通中一个重要的技术就是车牌识别技术,对于拍到的车辆图像或录像,如果能够准确及时的返回车牌的号码,这样即方便了车辆管理,又可以及时对违章车辆进行处罚,同时由于识别的即时性和准确性,这一系统在军事上也有极其重要的意义。车牌自动识别技术自提出以来,受到了人们的广泛关注,它可以应用于公路和桥梁收费站、公路流量观测站、城市监控系统、港口和机场、停车场、以及军事要塞的入口等车牌认证实际交通系统中,以提高交通系统的车辆监控和管理的自动化程度。由于其在智能化交通控制管理中发挥着越来越重要的作用,目前西方发达国家的科研工作者对其进行广泛的研究,目前己有众多的算法,一般的车牌识别系统总体构架图恤口图所示,经过这些年的研究,有些已应用于交叉路口、车库管理、路口收费、高速公路等场合。但是由于需适应各种复杂背景,加之要识别的车辆种类繁多,颜色变化多端,以及检测时要适应不同天气变化导致的不同光照条件。因此,目前的系统都或多或少地存在着一些问题。随着计算机性能的提高和理论技术的发展,这种技术必将日趋成熟。以下对我们设计的车牌自动识别系统的构成作简单介绍。 一个完整的车牌自动识别系统通常由图像采集,车牌定位,车牌牌字符分割和车牌字符识别部分组成。 车牌自动识别系统是一个以微处理器为核心,基于图像处理、模式识别等技术的高度智能的电子系统,这个系统主要有摄像头、视频采集接口、辅助照明装置、计算机和识别软件组成。 在自然光较暗或夜间影响识别效果时,自动开启辅助照明装置提供摄像光源。当车辆通过关卡,经过车体位置传感器的敏感区域时,传感器发送一个信号给图像采集控制部分。采集控制部分控制摄像机采集一幅汽车图像送至图像预处理模块,由预处理模块对输入图像进行预处理后送入计算机内。计算机内的软件模块从输入图像中找到牌照的位置,对牌照作字

基于matlab的车牌字符分割

《多媒体通信技术》课程报告 专业通信与信息系统 学号 姓名 任课教师

基于matlab的车牌字符分割 摘要:本文利用投影分割的方法对车牌字符进行分割,并利用模板匹配的方法进行字符识别,在图像进行预处理后的基础上,利用对车牌图像分块扫描的方法对车牌图像去边框处理,在去边框的基础上对每个字符进行分割,得到单个字符。关键字:字符;预处理;分割 1、引言 智能交通系统(intelligent transportation system,ITS)的发展现今对社会生活、国民经济和城市建设产生积极而深远的影响,我国已经将其列为优先发展的高技术产业化重点领域[1]。车牌识别系统(1icense plate recognition,IJR)是目前交通部门十分重要的科研课题之一,它主要包括车牌定位、字符分割和字符识别三部分,字符分割和字符识别是最后的关键环节。本文主要通过运用投影分割的方法对车牌进行字符分割并利用模板匹配的方法对车牌字符进行识别。2、图像预处理 图像预处理是对输入的图像进行一系列变换处理,使之成为符合字符识别模块要求的图像。图像预处理环节对于最终识别的正确率有很大影响,由于图像本身受到各种自然因素或设备因素的影响,图像的清晰度往往不是很理想,有时还会带有较明显的图像噪声。若不对图像进行预处理,这些噪声将给后续的识别模块带来严重影响,最终可能造成识别错误。因此,预处理的好坏一定程度上影响到字符识别的正确率。图像预处理首先需要将待识别的字符从输入的灰度图中分离出来。最常用的方法就是图像二值化。 2.1图像的灰度化

就是将彩色图像转化为具有256个灰度级的黑白图像,灰度图像只保留图像的亮度信息,去除了色彩信息,就像我们平时看到的黑白照片,它的亮度由暗到明,而且亮度变化是连续的。图像灰度化后可以使处理运算量大大减少,这样处理过程就变得更加简单和省时。在灰度图像中,通常将亮度划分成0到255共256个级别,0最暗,255最亮。 图2-1 灰度化的图像 2.2 图像的阈值化处理 所谓图像二值化就是指将灰度图转化为只含有两种灰度值的图像,一种为背景,另一种为待识别的字符,本文采用动态阈值法将图像二值化:如果输入图像较暗或者车牌较脏,如果采用固定的阈值将图像进行二值化,生成的二值图会非常黑或者有很多噪声。二值化有很多方法,主要为P片法或者峰谷法。本文采用的是P片法,阈值的大小的设定基于以下假设:由于现有车牌绝大部分为蓝底白字或者黄底黑字车牌,设理想的车牌平均包含大约60%的蓝/黄色像素和40%的白/黑色像素。首先,将图像二值化,计算出黑色和白色像素的比例,将它和期望值进行比较。从而算出新的阈值,直到近似等于期望值为止[2]。图1为理想状态下车牌原图片和的阈值化图片。 图2-2-1 阈值化的图像 图像经过上述步骤处理后,已经从带有噪声的灰度图像转变为符合识别要求的图像。该图像为只包含两种灰度值的二值图像,并且具有统一尺寸。而且在预处理环节中,已最大限度地去除了输入图像中的噪声,在保持字符原本信息不丢失的前提下,把待识别的字符从背景中成功地分离出来。 3 车牌的去边框处理

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

基于Matlab的车牌识别 摘要:车牌识别技术是智能交通系统的重要组成部分,在近年来得到了很大的发展。本文从预处理、边缘检测、车牌定位、字符分割、字符识别五个方面,具体介绍了车牌自动识别的原理。并用MATLAB软件编程来实现每一个部分,最后识别出汽车车牌。 一、设计原理 车辆车牌识别系统的基本工作原理为:将摄像头拍摄到的包含车辆车牌的图像通过视频卡输入到计算机中进行预处理,再由检索模块对车牌进行搜索、检测、定位,并分割出包含车牌字符的矩形区域,然后对车牌字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。车牌自动识别是一项利用车辆的动态视频或静态图像进行车牌号码、车牌颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些车牌识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的车牌识别系统应包括车辆检测、图像采集、车牌识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。车牌识别单元对图像进行处理,定位出车牌位置,再将车牌中的字符分割出来进行识别,然后组成车牌号码输出。 二、设计步骤 总体步骤为:

基本的步骤: a.车牌定位,定位图片中的车牌位置; b.车牌字符分割,把车牌中的字符分割出来; c.车牌字符识别,把分割好的字符进行识别,最终组成车牌号码。 车牌识别过程中,车牌颜色的识别依据算法不同,可能在上述不同步骤实现,通常与车牌识别互相配合、互相验证。 (1)车牌定位: 自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定车牌区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车车牌特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为车牌区域,并将其从图象中分割出来。 流程图: (2)车牌字符分割 : 完成车牌区域的定位后,再将车牌区域分割成单个字符,然后进行识别。字符分割一般采用垂直投影法。由于字符在垂直方向上的投影必然在字符间或字符内的间隙处取得局部最小值的附近,并且这个位置应满足车牌的字符书写格式、字符、尺寸限制和一些其他条件。利用垂直投影法对复杂环境下的汽车图像中的字符分割有较好的效果。

车牌识别(附源代码)

车牌识别 电子1301 孙洪江 20 一、目的与要求 车牌定位系统的目的在于正确获取整个图像中车牌的区域,并识别出车牌号。通过设计实现车牌识别系统,能够提高学生分析问题和解决问题的能力,还能培养一定的科研能力 二、设计原理: 牌照自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。其硬件基础一般包括触发设备、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些牌照识别系统还具有通过视频图像判断车辆驶入视野的功能称之为视频车辆检测。一个完整的牌照识别系统应包括车辆检测、图像采集、牌照识别等几部分。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。牌照识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。三、详细设计步骤: 为了进行牌照识别,需要以下几个基本的步骤: a.牌照定位,定位图片中的牌照位置; b.牌照字符分割,把牌照中的字符分割出来; c.牌照字符识别,把分割好的字符进行识别,最终组成牌照号码。 牌照识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与牌照识别互相配合、互相验证。 (1)牌照定位: 自然环境下,汽车图像背景复杂、光照不均匀,如何在自然背景中准确地确定牌照区域是整个识别过程的关键。首先对采集到的视频图像进行大范围相关搜索,找到符合汽车牌照特征的若干区域作为候选区,然后对这些侯选区域做进一步分析、评判,最后选定一个最佳的区域作为牌照区域,并将其从图象中分割出来。 (2)牌照字符分割 :

一种新的车牌图像字符分割与识别算法

微电子学与计算机2007年第24卷第2期 1 引言 智能交通系统(ITS)是一个热点研究领域,受到日益广泛的关注,车牌识别是其重要组成部分。对行驶车辆的牌照进行自动识别,从而完成自动收费、无人停车管理等,这无疑节省了人力、物力,同时提高了交通管理的效率。车牌识别系统主要包括四大部分,如图1所示。在准确定位车牌后,字符分割的好坏对字符识 别率起着至关重要的作用。由于处于实际环境中,受天气、光照、观察点的影响,经定位后的车牌还是存在各种各样的噪声。因此,必须对图像进行预处 理,以改善图像质量,提高字符识别率[1 ̄3]。 2面向字符分割的图像预处理 2.1光照不均校正与对比度增强 车牌不可避免的存在噪声,而且由于车牌识别系统在室外24小时工作,光照度大范围变化,也存在光照不均,亮度太低、对比度太小等情况,这些都会降低系统的字符识别率,因此需要采取去噪,光照不均校正和对比度增强等措施。本文应用中值滤波滤除噪声,通过低通滤波获得图像背景的照度估计,再从原始图像中减去此照度来校正光照不均[4],然后通过对比拉伸变换增强对比度[5]。2.2二值化分割 由车牌定位得到的车牌字符图像一般为彩色图或灰度图,为方便后面的字符分割和识别要先对图像进行二值化处理, 二值化的好坏直接影响到后 一种新的车牌图像字符分割与识别算法 陈振学1,汪国有1,刘成云2 (1华中科技大学图像识别与人工智能研究所图像信息处理与智能控制教育部重点实验室,湖北武汉430074) (2武汉科技大学信息科学与工程学院,湖北武汉430081) 摘要:提出了一种新的字符分割算法,该算法利用由中间向两端搜索的方法确定字符的上下边界,且利用一维 循环清零法及先验知识垂直分割得到单个的字符。实验结果表明,该算法较好的解决了以上问题,适用于各种质量的车牌图像,分割的正确率较高。 关键词:智能交通系统;字符分割;投影特征;先验知识中图分类号:TP391.41 文献标识码:A 文章编号:1000-7180(2007)02-0042-03 ANovelAlgorithmofCharacterSegmentationinLicensePlatesRecognition CHENZhen-xue1,WANGGuo-you1,LIUCheng-yun2 (1InstituteofPatternRecognition&ArtificialIntelligence,StateEducationCommissionLaboratoryforImageProcessing &IntelligenceControl,HuazhongUniversityofScienceandTechnology,Wuhan430074,China) (2CollegeofInformationScienceandEngineering,WuhanUniversityofScienceandTechnology,Wuhan430081,China)Abstract:TheLPR (LicensePlateRecognition)systemconsistsofthreesteps:licenseplatelocating,charactersegmen-tationandcharacterrecognition.CharactersegmentationisanimportantstepinaLPRsystem.Therearemanyfactorsthatcausethecharactersegmentationtaskdifficult,suchasimagenoise,plateframe,rivet,spacemark,platerotationandilluminationvariance.Thispaperpresentsanewalgorithmforcharactersegmentation.Firstly,characterstop-bottomedgescanbeobtainedbysearchingfrommiddletoend.Andthen,thesinglecharacterscanbesegmentedusingone-dimcycleclearingandpriorknowledge.Theexperimentresultsshowthegoodperformanceofthesegmentationalgo-rithm. Keywords:ITS;Charactersegmentation;Projectionfeature;Priorknowledge 收稿日期:2005-10-24 基金项目:总装备部基金项目(51401020201JW0521) 42

基于多模板匹配的车牌字符识别算法

基于多模板匹配的车牌字符识别算法块差别很大,则停止匹配。 多模板匹配 传统模板匹配算法抗干扰能力差,只是选用了一些标准的字符作 板,然后选取平均值,这样很难适用于实际环境中的字符识别。 车牌照识别,字符分割时常会出现分割不准确,或者定位的时候 牌字符的左右边界定位不准造成字符左右笔画缺失等,如图1,2 图3 多模板库的构建(其中a为标准模板,b为左偏,c为右偏) ,碰到这些情况传统的模板匹配算法就很难分辨。。我们针对此 提出了一种改进的模板匹配算法:多模板匹配算法。多模板库的构建是为了尽可能的保证原有字符的特征,而又 造具有差异性的模板库。图4是多模板库图片示例: 图1 定位不准导致的笔画缺失 (a)数字“2”的多模板库

2.2基于分块的多模板匹配 由于多模板匹配在算法执行上存在多次匹配,所以其识别时间和 效率不是很高,尽管现在对硬件设备处理速度的要求已经变得越来越 宽松了,然而为了进一步提高系统的实时性与识别效率,本文提出一 种基于分块匹配的思想来加速匹配。 其原理是:以待识别字符的几何中心为原点,以过原点的水平 4个象限。从第一象限开始进行模板匹配,然线、垂直线将字符分成 后依次对二三四象限进行匹配。如果第一象限匹配后与模板差别较 大,则停止匹配。基本算法如下:设待处理字符的二值化图像为:{F(i, j), i=1, 2, 图7 多模板匹配进行车牌字符识别 , n, j=1, 2, , n, , m},模板的二值化图像为{T(i, j), i=1, 2, 从图6 中可以看出,运用传统的模板匹配算法,其车牌汉字 j=1, 2, 取值为有图像的点取“1”,没有 , m},且各F(i, j),T(i, j) “闽”被错误识别成了“晋”字,尽管其他字符笔画完整的能被正确 图像的点取“0”。匹配系数为: 识别,但是仍然影响系统的最终识别率。 运用本文的多模板匹配算法,其结果示例如图7所示: 从图中可

车牌识别系统工作原理流程!

识别流程 车牌自动识别是一项利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别的模式识别技术。 其硬件基础一般包括触发设备(监测车辆是否进入视野)、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机(如计算机)等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。 某些车牌识别系统还具有通过视频图像判断是否有车的功能称之为视频车辆检测。 一个完整的车牌识别系统应包括车辆检测、图像采集、车牌识别等几部分。 当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。车牌识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。 车辆检测 车辆检测可以采用埋地线圈检测、红外检测、雷达检测技术、视频检测等多种方式。 采用视频检测可以避免破坏路面、不必附加外部检测设备、不需矫正触发位置、节省

开支,而且更适合移动式、便携式应用的要求。 系统进行视频车辆检测,需要具备很高的处理速度并采用优秀的算法,在基本不丢帧的情况下实现图像采集、处理。 若处理速度慢,则导致丢帧,使系统无法检测到行驶速度较快的车辆,同时也难以保证在有利于识别的位置开始识别处理,影响系统识别率。因此,将视频车辆检测与牌照自动识别相结合具备一定的技术难度。 武汉车牌识别 号码识别 为了进行车牌识别,需要以下几个基本的步骤: 1、牌照定位,定位图片中的牌照位置; 2、牌照字符分割,把牌照中的字符分割出来; 3、牌照字符识别,把分割好的字符进行识别,*终组成牌照号码。 车牌识别过程中,牌照颜色的识别依据算法不同,可能在上述不同步骤实现,通常与车牌识别互相配合、互相验证。

车牌字符识别的三种算法的比对

摘要 摘要 车牌识别技术是智能交通系统中的重要组成部分,它在违章抓拍,不停车收费,停车场管理以及重要场所过往车辆的实时登记等方面都有重要的作用。论文从车牌字符识别的理论出发,基于MATLAB语言对现有的模板匹配,神经网络,基于向量机(SVM)等方法在字符识别过程中的优缺点以及识别率进行系统的研究。论文的主要工作如下: 1.针对车牌图片的预处理包括去噪,增强,分割,提取字符等等; 2.构建模板匹配,神经网络,基于向量机(SVM)字符识别的相关测试数据; 3.分别实现模板匹配字符识别算法,神经网络字符识别算法,基于向量机 (SVM)字符识别算法,并做相应识别率的实验,将三者的实验结果进行 比对; 4.基于MATLAB GUI做三种算法系统的界面。 关键词:车牌识别模板匹配神经网络向量机识别率

ABSTRACT ABSTRACT License plate recognition technology is the intelligent transportation system an important part of it illegal to capture, no parking, parking management, and an important place in the past, real-time vehicle registration and other aspects important role. Papers from the license plate character recognition theory, MATLAB language based on the existing template matching, neural network, based on vector machines (SVM) and other methods in the process of character recognition and the recognition rate of the advantages and disadvantages of the system. The main work is as follows: 1.Pre-treatment, including the license plate image denoising, enhancement, segmentation, extraction of character, etc. 2.Construction of template matching, neural network, based on the vector machine (SVM) test data related to character recognition; 3.Respectively, to achieve template matching algorithm for character recognition, neural network character recognition algorithm based on vector machines (SVM) algorithm for character recognition, and recognition rate accordingly experiment, the three sides to compare the experimental results; 4.Do three algorithms based on MATLAB GUI interface of the system. Keywords: License Plate Recognition Template matching Neural network Vector Recognition rate

车牌字符分割

图像处理包括图像二值化、车牌定位、字符分隔、字符识别。每一步都关系系统成功与否以及好坏。如果图片二值化不好就不方便车牌定位,如果定位的车牌图片不准确就谈不上字符的切割,字符图片切割不好就难以识别。这些应该很好理解,可见成员之间需要很好的默契。而我负责了图像处理中的字符分隔模块,起初我不知道位图形式以及如何读取位图,可见我获取信息的主动性和能力并不好。非常感谢其他组员提供了读取位图像素数据的相关方法,才能使我能放心去思考切割的算法,而不必去担心如何获取数据的问题。我使用了一种字符像素横向和纵向扫描的算法,得到字符在横向和纵向的像素分布波形,通常是缓慢的连续变化,车牌越模糊,变化越缓慢。自然,波峰是字符区,波谷是字符间的空隙区。它们的分界点并不明显,必然需要找到介于波峰与波谷之间的一个阀值,将波形变成01直方波形。那么阀值自然是个关键,如果定得不准,就可能切不出所有字符,这是我之前遇到的问题,那时我固定了阀值,使它介于平均波峰值和平均波谷值之间的某个固定点,但这通常只能切割出模糊图片的部分字符,因为有些波峰和波谷并没有被切分开来。于是我采用了另一种策略,即使用动态扫描,从最小的波谷扫到最大的波峰,并不断计算切得的波峰数量(实际就是字符数量)。然后判断这个切割数是否符合实际车牌上的字符数量,如果符合,可以停止扫描,切割位置可以明确定在波峰和波谷的变化点上。当然,我进行了各种优化,比如更多判断来排除各种车牌边框等干扰。在DOS窗口上经过反复的数据显示测试,终于得到了非常不错的字———————————————————————————————————————————— (1)利用字符像素XY方向扫描; (2)分析波形; (3)动态指定阀值; (4)获得01分布; (5)判断波形变化次数; (6)去干扰; (7)获得切割位置; 时间有限,有不完善之处可以去本人博客提问: https://www.wendangku.net/doc/421936118.html,/flashforyou #pragma once #include #include //数学函数库 #include #include #include #include "stdafx.h" #include #define WIDTHBYTES(bits) (((bits)+31)/32*4) ///////////////////////////////////// typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; typedef long LONG;

相关文档
相关文档 最新文档