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

合集下载

复杂背景下的车牌定位和字符分割研究

复杂背景下的车牌定位和字符分割研究

文章编号: 0o 32(0) _ l _ 3 文献标 l0_ 48074_ 9 _ 2 0 0&0 识码: A
中 图分类号: P9 T3
复杂 背景 下的车牌 定位 和 字符 分割研 究
周开 军 ,陈三宝 ,徐江 陵
( 武汉理工大学 自动化学 院,武汉 4 0 6 ) 3 0 3

要:提 出了一种综合边缘检测、投 影特征 的车 牌定位方法和基于垂直投影及模板 匹配的字符分割 方法 ,提取车牌灰度图像边缘 ,实验
Re e r h o h ceLie s a eLo a i n a d Ch r c e s a c f Ve i l c n e Pl t c to n a a t r S g e t to d rCo p e c n s e m n a i n Un e m lx S e e
[ ywod lL c t n C aatr eme tt n E g e cin L r naincret n Ke r s Pl ai ; h cci o o r s o de o i o o
车 牌照 自动识别技 术是 智能 交通 系统 ( S 中的重要 研 I ) T
Z HOUKa u , HE a b o XUJa gig i n C N S n a , in l j n
(co l f tma o , h nUnv ri f eh oo yWu a 30 3 Sh o o t nWu a iesyo cn lg, h n4 0 6 ) o Au i t T
ta so m.T e h r c e s s g r n fr h c a a tr i e me td b n e y LP e me t t l o t sg n a i a g r hm,a d s me p o l ms r e s l e fe tv l n e o on i n o r b e a o v d e f ci e y u d r c mp e s e e .T lx c n s o d mo sr t fe t e e soft ep o o e l o t e n ta et e f c i n s r p s d a g r hm, tc n u t x e sv x e i n so e a g u he v h i i o d c se t n i e e p rme t v ra l e n mb ro e lwo l e c elc n e p a e . r e f a— rd v hi l i e s l t s r I e o t a e p o o e l o t t p rst t r p s d ag r hmsh v i h a c a ya d r b sn s , r h t h i a e h g c ur c n o u t e s

车牌字符分割算法研究样本

车牌字符分割算法研究样本

1 绪论1.1 背景简介为了实现车牌字符辨认,普通要通过车牌位置检测、车牌字符分割和字符辨认三个核心环节。

车牌位置检测是依照车牌字符目的区域特点,寻找出最符合车牌特性区域。

车牌字符分割就是在车牌图像中找出所有字符上下左右边界,进而分割出每个车牌字符。

在实际应用中,车牌字符分割效果对车牌字符辨认对的率会产生很大影响,由于车牌图像亮度不均、尺度变化、透视失真、字符不完整等因素,使图像质量存在较大差别,进而影响图像分割效果,因而车牌字符分割这一技术依然具备很大研究意义。

在实际监控场景中,车牌图像透视失真普通是由于拍摄视角变化或车辆位置移动,相机光轴偏离车牌平面法线方向导致。

由于车牌图像在整幅图像中占有较小比例,因此车牌图像几何校正重要工作是校正车牌图像旋转和剪切失真。

旋转投影法和直线拟合法是两种重要偏斜校正办法。

旋转投影法是为了获取垂直倾斜角,即将车牌图像穷举逐个角度进行剪切变换,然后记录垂直投影数值为0点数,得到最大值相应角度。

这种办法受背景区域干扰比较大。

另一种办法是直线拟合车牌字符左边界点从而获得垂直倾斜角,该办法为直线拟合法。

该办法并没有逐个角度对车牌图像进行剪切变换,从左边界点拟合出直线普通不能真正用来代表车牌垂直倾斜方向,检测出角度存在较大误差,且字符左侧噪声对角度检测干扰太大,鲁棒性较差。

因而找到一种更精确和迅速车牌垂直倾斜矫正办法是十分重要。

通过得到最小字符投影点坐标方差,得到另一种车牌垂直矫正办法。

一方面将车牌字符图像进行水平校正,依照字符区域上下边界,将车牌字符进行粗分割。

然后将剪切变换后字符点进行垂直偷用。

当得到投影点最想左边方差时,便能导出两类剪切角闭合表达是,最后便是拟定垂直投影倾斜角并对此进行校正。

投影法是当前最惯用车牌分割算法之一,其算法简朴并且计算复杂度低。

该办法核心思想是将车牌图像进行水平投影和垂直投影,运用峰谷特性来定位车牌字符上下左右边界。

但是车牌噪声、边框等因素容易影响到投影峰谷位置,并且对于存在较严重质量退化图像解决困难。

车牌识别系统中的字符分割与识别

车牌识别系统中的字符分割与识别

安徽大学硕士学位论文车牌识别系统中的字符分割与识别姓名:高勇申请学位级别:硕士专业:计算机应用技术指导教师:张燕平20070401丘嘲j、’’,慨I。

毕¨硷上第卓系统的具体雌|卜-J其啦别率,【圣j5即为拍摄到的个车图。

因此,必须采取车牌图像顾处理印J}#施以提高Ui别率。

同时,由于车牌不可避免地存在噪声,而且由于车牌识别系统任室外24小时工作,光照度大范【嗣变化,也存在光照不均,亮度太低对比度太小等情况,这蝗都会降低系统的字符识别率,因此需采取滤噪、光照不均校J下和对比度增强等图像增强措施121I。

预处理是整个车牌识别系统的第一步,它的有效与否直接关系到下一步定位的成功率高低。

预处理的主要目的是增强图像中的目标的信息,减少或者消除非目标信息,以有利于下一步的图像进一步处理。

对于含有车牌的图像来说,预处理主要是为了让目标字符的信息加强,并且消除干扰信息,从而便于系统进行下面的车牌区域的定位工作。

一般来说,预处理的方法主要分为空域法和频域法两大类【2lJ。

空域法主要是利用图像中各点之间的位置关系与颜色信息来进行处理,用于其中预处理的空域法主要有图像的点运算、图像增强等;频域法则是将图像变换到频域然后再进行处理,一般采用的变换方式都是线性正交变换、傅立叶变换、离散余弦变换等,然后根据目标信息的特征进行相应的滤波处理。

一般来说,利用空域法比较直接方便,理解上直观;利用频域法则有计算量小、易于消除噪声等特点。

3.3.3车牌定位图5:拍摄到的车图Figure5:aVehiclePlate车牌定位是车牌识别系统中的关键之一,如何在复杂的背景下克服干扰准确定位出含有车牌字符区域直接关系到车牌识别系统后续识别部分的正确率。

到目前为止,有关车牌定位的研究很多,其中主要的方法有下面几种吲:基于边缘的。

汽车牌照定位与字符分割的研究及实现

汽车牌照定位与字符分割的研究及实现

1.2.1 车牌定位技术研究现状及发展趋势
车牌定位技术是 LPR 系统研究的重点和难点。采集车辆图像过程中一般都有
1
汽车牌照定位与字符分割的研究及实现
各种背景干扰,能够正确分割字符的前提是从图像中准确地分割出牌照区域,这 也是 LPR 系统能否在实际中应用的基础。 目前的车牌定位算法中,主要是分析车牌所共有的部分特征,根据这些特征 来确定车牌区域的位置。车牌几何形状特征及相应的分析方法主要有[2-8]: (1)灰度变化特征:水平/垂直扫描时,牌照区域的像素灰度值按照一定的规 律进行波动;(2)颜色特征:原始车牌区域内部颜色和外部颜色差异的特征;(3) 投影特征:对车辆图像的水平/垂直扫描后其投影直方图中,牌照所对应的区域具 有一定规律的峰谷分布;(4)边缘特征:牌照区域有许多的边缘信息,使用相应的 算子将边缘信息提取出后,再通过边缘投影直方图来确定边缘的信息;(5)几何特 征:主要有车牌的长度、宽度以及长宽比例在一定的范围之内,或者可以通过牌照 的面积在一定的范围之内。利用以上这些特征均可以确定车牌的位置。 目前,车辆牌照的定位方法有基于彩色图像牌照区域字符和背景的颜色差异 特征进行定位,也有基于灰度图像牌照区域字符几何纹理特征进行定位,还有其 它结合了牌照区的颜色差异和字符纹理两种特征的方法定位,另外还有的是基于 数学形态学、神经网络、遗传算法、灰度聚类等牌照定位方法[9]。
作者签名: 导师签名:
日期: 日期:
年 年
月 月
日 日
中南民族大学硕士学位论文
第1章
1.1 问题的提出
绪论
车牌识别技术(License Plate Recognition, LPR )是智能交通管理系统的 重要组成部分,主要用于识别车牌号码。 LPR 技术在实际生活中主要应用于高速 公路实现无人收费功能、道路行车的流量监控、交通违规车辆的监控等。特别是 在各种场合实现无人收费功能的系统中,为了提高车辆的运行效率, LPR 技术将 代替人工的管理方式实现无人自动管理的功能, 因此,对 LPR 技术的研究和系统的 开发具有重要的现实意义和和实用价值。 车牌定位、字符分割、字符识别是 LPR 系统的三大关键技术。同时也是车牌 本身的几何形状特征与图像处理技术[1]的很好结合,车牌定位与字符分割在 LPR 系统中用到的数学知识主要有数学形态学、神经网络、小波分析等。对车牌定位 与字符分割的研究主要包括:图像预处理、车牌定位、车牌倾斜校正、车牌字符 分割及字符分割结果输出等。如图 1.1 所示为系统的流程框图:

车牌识别系统中车牌定位及分割技术研究

车牌识别系统中车牌定位及分割技术研究

车牌识别系统中车牌定位及分割技术研究摘要随着经济社会的进展,我国汽车数量,尤其是私家车数量大量增加。

这对交通公共基础设施的建设和与其配套的车辆管理系统提出了更高的要求。

为实现道路交通管理的自动化和车辆行驶的智能化,各类智能交通系统应运而生。

汽车牌照是肯定汽车的有效手腕,因此车辆牌照识别技术在智能交通管理中发挥着基础性的重要作用。

车牌识别技术主要包括以下三个部份:车牌定位技术、车牌的字符分割技术和字符识别技术。

车牌定位的任务就是肯定出车牌在图像中的具体位置;车牌定位是车牌识别系统完成图像收集后对图像进行处置的第一步,分割是对车牌进行识别的基础。

本文的对车牌识别系统中车牌定位及分割研究的大致方式为:第一对图像进行预处置,包括灰度化、维纳滤波去噪和利用边缘检测函数对图像边缘化,再利用Hough变换对图像进行矫正,按照边缘图像的直方图对图像进行切割,提取主要车牌区域。

最后按照主要车牌区域的灰度直方图肯定二值化阈值,按照车牌区域特征对主要车牌区域进行字符图像有效信息的分割。

用MATLAB软件对上述步骤进行仿真,实验结果表明,应用上述方式能够分割出汽车牌照图像的有效信息,而且效果较好。

关键词:图像分割;边缘检测;车牌识别Research on License Plate Localization and Segmentation TechnologyAbstractWith the development of economic society, number of cars in our country, especially the number of private cars has increased a lot。

This have put forward higher requirements for the traffic infrastructure construction and its supporting vehiclemanagement system. In order to realize the road traffic management automation and the vehicle intelligent, intelligent traffic system emerge as the times require. Vehicle license plate is a effectively way to identify the car, thus the vehicle license plate recognition technology plays a fundamental role in intelligent traffic management. License plate recognition technology mainly include three parts,such as the license plate location technology, the character segmentation technology and the character recognition technology. The task of license plate location technology is to determine the specific location in image license. License plate location is the first step. The character segmentation technology is based on license plate recognition. In this paper, the method about license plate recognition system for license plate location and segmentation is, firstly, image preprocessing, including gray-scale, Wiener filter denoise and edge detection function of image edge. Second using Hough transform for image correction, cutting the image according to the histogram of edge of image to extraction of main plate region. Finally, according to the histogram of the gray image of the main plate region to determine the threshold of binarization and according to the characteristics of license plate region to segmentation the effective information of the character image. The experimental results show that, using MATLAB software simulation, application of the method can segment the effective information of the character image in license plate, and the effect is better.Key words: Image segmentation; Edge detection; Vehicle license plate recognition目录摘要 (1)Abstract (2)目录 (4)1 绪论 (5)选题的背景和目的 (5)国内外研究状况 (6)应用范围 (7)本论文内容介绍 (8)2............................................................................................................................................. 车牌图像预处置9车牌区域特征 (9)图像的灰度化 (10)图像的去噪 (12)2.3.1线性低通滤波 (12)2.3.2维纳(Wiener)滤波 (13)边缘检测 (14)2.4.1 Roberts算子 (14)2.4.2 Sobel 算子 (15)2.4.3 P rewitt算子 (15)2.4.4 LOG算子 (16)2.4.5 Canny算子 (17)2.4.6拉普拉斯算子 (17)3倾斜度矫正与车牌区域定位 (20)倾斜度矫正 (20)图像的定位 (26)4 二值化与字符分割 (28)图像的二值化 (28)字符的分割 (31)4.2.1垂直投影分割 (31)4.2.2字符结构特征分割 (33)结论 (36)致谢 (37)参考文献 (38)附录A设计主程序 (39)1 绪论选题的背景和目的随着经济全世界化和信息时期的来临,运算机技术、通信技术和运算机网络技术进展超级迅速,自动化的信息处置能力和水平也在不断提高,并在人们的社会活动和实际生活的各个领域取得普遍应用。

车牌识别技术实验报告

车牌识别技术实验报告

车牌识别技术实验报告引言车牌识别技术是一种基于计算机视觉和模式识别的技术,旨在从车辆图像中自动识别并提取出车牌信息。

随着交通管理的不断升级和智能化的要求,车牌识别技术逐渐得到广泛应用。

本实验旨在探究车牌识别技术的原理和实现方法,并通过实验验证其识别准确率和稳定性。

实验目的1. 了解车牌识别技术的基本原理;2. 学习车牌识别技术的常见实现方法;3. 掌握车牌识别系统的搭建和调试方法;4. 通过实验验证车牌识别技术的准确率和稳定性。

实验过程1. 数据集准备首先,我们需要准备具有不同车牌种类和样式的数据集作为实验数据。

根据实际应用场景,可以从公开数据集、网络爬取和现场采集等渠道获取。

2. 车牌定位车牌定位是车牌识别的第一步,它的目的是在整个车辆图像中提取出车牌区域。

常用的车牌定位方法包括边缘检测、颜色识别和特征匹配等。

3. 字符分割字符分割是车牌识别的第二步,它的目的是将车牌区域中的字符分割开来,以便后续识别。

常用的字符分割方法包括基于间隔的分割方法和基于统计特征的分割方法。

4. 字符识别字符识别是车牌识别的最关键步骤,它的目的是将分割开的字符识别出来。

常用的字符识别方法包括基于模板匹配的方法和基于机器学习的方法。

5. 实验验证通过将实现的车牌识别系统应用于真实场景的车辆图像,对识别结果进行准确率和稳定性的测试和评估。

可以使用准确率和召回率等指标来评估识别效果。

实验结果经过以上实验步骤,我们成功搭建了一个车牌识别系统,并进行了实验验证。

在实验过程中,我们从数据集中随机选择了100张车辆图像进行识别测试。

实验结果显示,车牌识别系统在准确率和稳定性方面表现出色,准确率达到95%,并能在不同光照和角度下稳定识别。

实验总结通过本次实验,我们深入了解了车牌识别技术的原理和实现方法。

我们学习了车牌定位、字符分割和字符识别等关键步骤,并成功搭建了一个车牌识别系统。

实验结果表明,该系统具有较高的准确率和稳定性,在实际应用中具有很大的潜力。

车牌字符分割

车牌字符分割

图像处理包括图像二值化、车牌定位、字符分隔、字符识别。

每一步都关系系统成功与否以及好坏。

如果图片二值化不好就不方便车牌定位,如果定位的车牌图片不准确就谈不上字符的切割,字符图片切割不好就难以识别。

这些应该很好理解,可见成员之间需要很好的默契。

而我负责了图像处理中的字符分隔模块,起初我不知道位图形式以及如何读取位图,可见我获取信息的主动性和能力并不好。

非常感谢其他组员提供了读取位图像素数据的相关方法,才能使我能放心去思考切割的算法,而不必去担心如何获取数据的问题。

我使用了一种字符像素横向和纵向扫描的算法,得到字符在横向和纵向的像素分布波形,通常是缓慢的连续变化,车牌越模糊,变化越缓慢。

自然,波峰是字符区,波谷是字符间的空隙区。

它们的分界点并不明显,必然需要找到介于波峰与波谷之间的一个阀值,将波形变成01直方波形。

那么阀值自然是个关键,如果定得不准,就可能切不出所有字符,这是我之前遇到的问题,那时我固定了阀值,使它介于平均波峰值和平均波谷值之间的某个固定点,但这通常只能切割出模糊图片的部分字符,因为有些波峰和波谷并没有被切分开来。

于是我采用了另一种策略,即使用动态扫描,从最小的波谷扫到最大的波峰,并不断计算切得的波峰数量(实际就是字符数量)。

然后判断这个切割数是否符合实际车牌上的字符数量,如果符合,可以停止扫描,切割位置可以明确定在波峰和波谷的变化点上。

当然,我进行了各种优化,比如更多判断来排除各种车牌边框等干扰。

在DOS窗口上经过反复的数据显示测试,终于得到了非常不错的字————————————————————————————————————————————(1)利用字符像素XY方向扫描;(2)分析波形;(3)动态指定阀值;(4)获得01分布;(5)判断波形变化次数;(6)去干扰;(7)获得切割位置;时间有限,有不完善之处可以去本人博客提问:/flashforyou#pragma once#include <cstring>#include <cmath> //数学函数库#include <cstdio>#include <cstdlib>#include <cmalloc>#include "stdafx.h"#include <complex>#define WIDTHBYTES(bits) (((bits)+31)/32*4)/////////////////////////////////////typedef unsigned char BYTE;typedef unsigned short WORD;typedef unsigned long DWORD;typedef long LONG;///////////////////////////////////////***位图文件头信息结构定义//其中不包含文件类型信息(由于结构体的内存结构决定,要是加了的话将不能正确读取文件信息)typedef struct tagBITMAPFILEHEADER {DWORD bfSize; //文件大小WORD bfReserved1; //保留字,不考虑WORD bfReserved2; //保留字,同上DWORD bfOffBits; //实际位图数据的偏移字节数,即前三个部分长度之和} BITMAPFILEHEADER;///////////////////////////////////////***信息头BITMAPINFOHEADER结构,其定义如下:typedef struct tagBITMAPINFOHEADER{//public:DWORD biSize; //指定此结构体的长度,为40LONG biWidth; //位图宽LONG biHeight; //位图高WORD biPlanes; //平面数,为1WORD biBitCount; //采用颜色位数,可以是1,2,4,8,16,24,新的可以是32 DWORD biCompression; //压缩方式,可以是0,1,2,其中0表示不压缩DWORD biSizeImage; //实际位图数据占用的字节数LONG biXPelsPerMeter; //X方向分辨率LONG biYPelsPerMeter; //Y方向分辨率DWORD biClrUsed; //使用的颜色数,如果为0,则表示默认值(2^颜色位数)DWORD biClrImportant; //重要颜色数,如果为0,则表示所有颜色都是重要的} BITMAPINFOHEADER;/////////////////////////////////////////***调色板Palette,当然,这里是对那些需要调色板的位图文件而言的。

车牌定位与分割方法研究cici

车牌定位与分割方法研究cici

《数字图像处理》研究报告——车牌定位与分割方法研究(2008/2009学年第二学期)车牌定位与分割方法研究1、前言随着公路逐渐普及,我国的公路交通事业发展迅速,所以人工管理方式已经不能满着实际的需要,微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。

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

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

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

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

作为现代社会的主要交通工具之一的汽车, 在人们的生产、生活的各个领域得大量使用, 为快速、高效地进行车辆的管理和监控,实现交通管理的自动化、智能化,车牌识别技术在智能交通系统中成为核心技术之一,而图像处理技术能将输入的车辆图像通过处理和识别,转换为车牌号的字符串形式,为车牌识别的后续计算机处理奠定了基础,在其中起着关键性的作用。

数字图像处理已经成为一门独立的新学科,并有着广泛的应用,正在空间、时间和功能上的扩展人类视觉。

2、图像预处理先对视频采集的车牌图像进行必要的预处理,有助于进一步的识别。

图像预处理包括:图像的复原和图像的变换等。

2.1 图像的复原在一些场合输入的图像很有可能是模糊不清的, 也就是说存在噪声的影响,通常存在影响的因素是多方面的,如光线和天气条件的变化、角度不合适、同类型的车牌字符和车牌背景的细微差别等都有可能使图像模糊不清。

因此要对图像进行复原。

在不同的环境下对具体的图像的复原方法也不同, 例如由于均匀直线运动而引起的复原,几何畸变复原等等。

2.2 图像的变换原始图像的数据一般比较大,对其进行处理的时间一般也较长,而由于实时性的要求,车牌的提取需要一次处理性就能把绝大多数特征提取出来,而尽可能的不要利用后面的结果来调整这一步的工作。

车牌字符分割及识别算法研究的开题报告

车牌字符分割及识别算法研究的开题报告

车牌字符分割及识别算法研究的开题报告一、选题背景与意义随着车辆数量的增多,交通管理越来越复杂,车牌识别技术已成为现代交通管理中不可或缺的手段。

目前,车牌识别技术已广泛应用于智能交通系统、停车场管理等领域,尤其在车辆安全检测和追踪、交通违法行为的识别等方面具有非常重要的应用价值。

车牌识别技术的关键就是字符分割和识别,因此本课题将重点研究车牌字符分割及识别算法。

通过对车牌进行有效的字符分割,能够准确快速地识别车辆信息,提高交通管理效率,确保道路畅通,维护公共安全。

二、研究内容及思路1. 车牌字符分割算法研究车牌字符分割是车牌识别的重要步骤,其目的是将车牌图像中的字符区域分割出来。

车牌字符分割算法的研究是本课题的重点之一。

在此基础上,我们将探讨如何对分割出的字符进行有效的识别和匹配,以保证车牌信息的准确性和可靠性。

2. 车牌字符识别算法研究车牌字符识别技术是车牌图像处理的核心问题之一,其目的是将车牌图像中的字符信息自动识别出来。

本课题将通过深入研究神经网络算法、模式识别算法等相关技术,构建有效的字符识别模型。

通过训练这个模型,能够快速而准确地识别出车牌中的字符信息。

三、研究方法1. 数据采集本课题将采用公开数据集进行研究,如CCPD、车牌字符数据集等。

同时,还将根据实际情况采集一些本地车牌图像进行测试和验证。

2. 图像处理技术本课题将应用多种图像处理技术,包括图像增强、二值化、边缘检测、形态学处理等,以有效处理车牌图像。

3. 算法开发本课题将基于Python平台,运用相关算法对车牌图像进行处理、字符分割和字符识别,在此基础上通过对实验结果进行分析,优化算法传统算法的表现,提高算法的准确率和稳定性。

四、预期研究成果1. 建立车牌字符分割及识别算法本课题将建立车牌字符分割算法和字符识别算法。

通过完整的实验流程,优化相关算法,建立出相应的模型以及算法,实现车牌字符的准确分割和识别,并进行实验验证。

2. 测试和结果分析本课题将基于实际数据和公开数据集进行测试,在此基础上对模型进行优化,并对结果进行分析和总结,得出相关结论,为实际应用提供参考。

车牌定位与车牌字符识别算法的研究与实现

车牌定位与车牌字符识别算法的研究与实现

车牌定位与车牌字符识别算法的研究与实现一、本文概述随着智能交通系统的快速发展,车牌识别技术作为其中的核心组成部分,已经得到了广泛的应用。

车牌定位与车牌字符识别作为车牌识别技术的两大关键环节,对于实现自动化、智能化的交通管理具有重要意义。

本文旨在探讨和研究车牌定位与车牌字符识别的相关算法,并通过实验验证其有效性和可行性。

本文首先对车牌定位算法进行研究,分析了基于颜色、纹理和边缘检测等特征的车牌定位方法,并对比了各自的优缺点。

随后,本文提出了一种基于深度学习的车牌定位算法,通过训练卷积神经网络模型实现对车牌区域的准确定位。

在车牌字符识别方面,本文介绍了传统的模板匹配、支持向量机(SVM)和深度学习等识别方法,并对各种方法的性能进行了比较。

在此基础上,本文提出了一种基于卷积神经网络的字符识别算法,通过训练模型实现对车牌字符的准确识别。

本文通过实验验证了所提出的车牌定位与车牌字符识别算法的有效性和可行性。

实验结果表明,本文提出的算法在车牌定位和字符识别方面均具有较高的准确率和鲁棒性,为车牌识别技术的实际应用提供了有力支持。

本文的研究不仅对车牌识别技术的发展具有重要意义,也为智能交通系统的进一步推广和应用提供了有益参考。

二、车牌定位算法的研究与实现车牌定位是车牌字符识别的前提和基础,其主要任务是在输入的图像中准确地找出车牌的位置。

车牌定位算法的研究与实现涉及图像处理、模式识别等多个领域的知识。

车牌定位算法的研究主要集中在两个方面:一是车牌区域的粗定位,即从输入的图像中大致找出可能包含车牌的区域;二是车牌区域的精定位,即在粗定位的基础上,通过更精细的处理,准确地确定车牌的位置。

在车牌粗定位阶段,常用的方法包括颜色分割、边缘检测、纹理分析等。

颜色分割主要利用车牌特有的颜色信息,如中国的车牌一般为蓝底白字,通过颜色空间的转换和阈值分割,可以大致找出可能包含车牌的区域。

边缘检测则主要利用车牌边缘的灰度变化信息,通过算子如Canny、Sobel等检测边缘,从而定位车牌。

复杂背景下车牌定位与字符分割算法研究的开题报告

复杂背景下车牌定位与字符分割算法研究的开题报告

复杂背景下车牌定位与字符分割算法研究的开题报告一、研究背景与目的近年来,随着汽车数量的不断增加,车牌识别技术也得到了广泛应用。

车牌识别系统可以实现自动地对车辆进行登记、监控和管理,能够有效提高交通安全性和管理水平。

而车牌识别系统的关键技术就是车牌定位与字符分割,其准确率和效率直接影响整个系统的性能和可靠性。

然而,在一些复杂的场景下,如光照不均、目标遮挡、倾斜变形等情况,车牌定位和字符分割的准确率会明显下降,这就对算法的鲁棒性提出了更高的要求。

因此,本文旨在研究适用于复杂场景下的车牌定位与字符分割算法,提高车牌识别系统的性能,实现快速、准确、稳定的车牌识别。

二、研究内容与方法车牌定位是车牌识别系统的关键步骤,其主要目的是从图像中确定车牌的位置和朝向。

常用的车牌定位方法包括基于颜色、基于形状和基于深度学习等方法。

然而,这些方法在一些具有复杂背景的场景下,例如夜间和弱光环境,效果较差。

因此,本文将探索利用多种信息融合的深度学习方法,提高车牌定位的鲁棒性和准确率。

车牌字符分割是车牌识别系统中的另一个重要环节,其主要任务是将车牌上的字符分割出来,方便后续的字符识别。

当前常用的车牌字符分割方法主要包括基于边缘检测和基于图像处理技术的方法。

然而,这些方法在面对复杂背景的情况下,往往难以达到较高的分割准确率。

因此,本文将尝试综合使用基于深度学习和图像处理的方式来实现车牌字符的可靠分割。

三、论文进展计划第一阶段,阅读相关文献,研究车牌定位和字符分割的相关算法,了解深度学习的基本概念和方法,研究多种信息融合的技术,包括颜色、形状、纹理等。

第二阶段,实现车牌定位和字符分割的算法,并测试其性能。

针对测试结果进行分析和评价,进一步改进算法,提高其鲁棒性和准确率。

第三阶段,将车牌定位和字符分割算法应用于实际场景,收集大量样本,对算法进行综合性能测试,并与现有算法进行比较和评估。

第四阶段,编写论文,并对研究结果进行总结和展望。

车牌字符分割开题报告

车牌字符分割开题报告

车牌字符分割开题报告导语:开题报告是每一个科研报告的导航,通过开题报告,你可以知道接下来论文与报告的大概方向与内容。

下面是小编整理的关于车牌识别中字符分割算法的研究与实现的报告,欢迎你的参考与借鉴!毕业论文开题报告题目车牌识别中字符分割算法的研究与实现毕业论文开题报告论文题目车牌识别中字符分割算法的研究与实现一、选题背景与意义车牌识别是现代智能交通系统[1] 中的重要组成部分之一,可用于公路电子收费、出入控制和交通监控等众多场合。

它以数字图像处理、模式识别、计算机视觉等技术为基础,对摄像机所拍摄的车辆图像或视频序列进行分析,得到每一辆汽车唯一的车牌号码,从而完成识别过程。

它主要包括三个关键部分:车牌区域定位、车牌字符分割、车牌字符识别,其中车牌字符分割的好坏直接影响到车牌识别的正确率,因此本文对字符分割的算法进行了深入的研究。

从20世纪80年代初,国外的研究人员就已经开始了对车辆牌照的研究。

英国一个研究所在1982年研制了一种用于刑侦的汽车牌照识别系统。

1983年,日本一家公司曾研究出用来检查超速行驶的汽车牌照识别系统。

如今,发达国家的车牌识别系统在实际交通系统中己取得了成功的应用,如交通检测系统VNPR(Vehicle Number Plate Recognition)。

它主要应用于寻找被盗的汽车、停车场的控制和交通流量的统计方面。

VNPR的主要工作任务是车牌的定位、字符的切割和字符的识别,这几部分的工作是紧密结合在一块的。

国外车牌识别系统的广泛应用不仅仅和其技术领先有关,还与这些国家的车牌比较单一,易于识别有关。

与一些发达同家已经成功应用的车牌识别系统相比,我国的开发应用进展显得较为缓慢。

这是因为我国的实际情况与国外有所区别,国外车牌比较规范统一,而我国车牌规范不够,较为多样化。

不同汽车类型的车牌有不同的规格、大小和颜色,所以车牌的颜色多,并且字符位数不统一,对处理造成了一定的困难。

相对而言,国内开发车牌识别系统较好的公司主要有:北京汉王科技有限公司、上海高德威智能交通系统有限公司、亚洲视觉科技有限公司等。

车牌定位与字符分割方法研究

车牌定位与字符分割方法研究

第28卷第3期2011年6月沈阳航空航天大学学报JournalofShenyangAerospaceUniversityVol畅28No畅3Jun畅2011收稿日期:2011-03-07作者简介:朗瑶(1980-),女,辽宁抚顺人,助理工程师,主要研究方向:图像重建与图像处理,E-mail:shenhanglangyao@163.com。

文章编号:2095-1248(2011)03-0056-04车牌定位与字符分割方法研究郎 瑶1,孙延鹏1,许 冰2,郑 丹1(1畅沈阳航空航天大学电子信息工程学院辽宁沈阳110136;2畅沈阳工业大学软件学院,辽宁沈阳110023)摘 要:介绍了一种改进的基于纹理特征的车牌定位方法,采用自适应阈值,实现了车牌的准确定位。

设定自适应改变大小的投影切割阈值实现了字符分割。

最后采用BP神经网络法来识别各个字符。

实验结果表明,该方法能够较为准确的实现车牌识别,具有定位准、鲁棒性好等特点。

关 键 词:信号处理技术;纹理特征;车牌定位;自适应阈值;字符分割中图分类号:TN911.73 文献标志码:Adoi:10.3969/j.issn.2095-1248.2011.03.013OnlicenseplatelocationandcharactersegmentationLANGYao1,SUNYan-peng1,XUBing2,ZHENGDan1(1畅SchoolofElectronicsInformationEngineering,ShenyangAerospaceUniversity,LiaoningShenyang110136;2畅Collegeofsoftware,ShenyangUniversityofTechnology,LiaoningShenyang110023)Abstract:Thepaperintrouducesalicenseplatelocationalgorithmwithanadaptivethresholdbasedonanimprovedtexturecharacteristicsforpreciselocation.Thefeatureofcharactersegmentationliesintheprojec-tionthresholdwhichisabletochangeaccordingtodifferentimages.FinallyBPneuralnetworkisusedtoidenti-fyeachcharacter.Experimentalresultsshowthatthemethodcanachieveaccuratelicenseplaterecognition.Keywords:signalprocessing;texturecharacteristics;licenseplatelocation;adaptivethreshold;charactersegmentation 车牌识别(LPR)系统[1-3]是智能交通系统(ITS)的一个重要组成部分,它能够自动摄取车辆的图像并识别车牌。

车牌及其字符分割的方法研究

车牌及其字符分割的方法研究

倒范围内有多个区域出现,则缩小高宽比的范围再搜索一次,如果所得区域仍大于一个,鉴于车牌一般处于整幅图的下方。

所以取底部最低的连通域作为车牌区域.图I厦图图2垂直边缘检测后图3分削出来的车牌三、车牌字符分割字符分割是车牌分割的后续步骤,它将提取出来的车牌区域分割成单一的字符区域.本文的字符分割算法包括车牌区域的二值化,水平边框去}j;}以及纵向字符分剖三个步骤.1.车牌区域的二值化在车牌二值化的过程中,需要确定二值化的明值.本文采用了判别分析法来确定最佳阚值.这种方法较好地解决了闭值自动选择的问题,有很好的二值化效果.算法用数学模型可以表示如下t设闻值选择函数,(五)定义如下t一(矗)[p・∞(量)一产(量)]。

/[∞(愚)・(1一∞(五))]其中弘为整体图像的灰度平均值,产(^)是阕值为k时的灰度平均值,m(k)是灰度值为1一k之间的总概率.若设各灰度值的概率为P。

总像棠数为N.则以上各值可以表示为。

I●●●产=∑i・P(i),卢(女)一∑f・P;,面(量)=∑P{,Ⅳ=∑他;,P;=协/Nl-lj-lf-l‘-I其中1~优是灰度图像的灰废级.斯是灰值为i的像摩敷.令,(^)值最大的灰度值^即为整幅灰度图像的最佳分割搠值T.rl,(f,j)≥T,“’J)2{o,(f,J)≤TL2.车牌水平框的去除在车牌区域二值化的基础上我们设计了一种去除水平边框的算法.它对于边框断袭、缺失。

或者二值化引起的边框边界不清等都有很好的消除效果.通过对牌照中心位置向上或者向下扫描可以发现,字符区域与上下水平边框之间有一定的空白.利用这一特性与边框比例知识相结合可以有效地去除车牌的水平边框.其步骤如下,(1)对现有的二值图像进行水平方向的投影,然后对投影图进行分析。

找出投影图的所有波峰和波谷,分别记录。

并消除波峰和波谷处呈现水平状态的影响.(2)计算相郐波峰波谷的高度差,因为字符和边框之问存在空隙.所以当这一高度差大于所有高度差的平均值较多,或者接近于零值时.就可以判定这就是边框和字符的分界处.(3)考虑到可能水平边框因为二值化或光照不均有所缺失,所以取高度差过滤后剩余部分的第一个波谷之后和具有最大高度差的波谷之前的区域作为去除边框后的字符区.3.纵向字符分割经过以上处理后。

复杂背景下的车牌定位和字符分割研究

复杂背景下的车牌定位和字符分割研究

—198— 复杂背景下的车牌定位和字符分割研究周开军,陈三宝,徐江陵(武汉理工大学自动化学院,武汉 430063)摘 要:提出了一种综合边缘检测、投影特征的车牌定位方法和基于垂直投影及模板匹配的字符分割方法,提取车牌灰度图像边缘,实验结果显示该算法检测边缘的速度快,车牌区域轮廓清晰,采用投影法确定车牌区域,用HOUGH 变换检测倾斜角度进而对倾斜的车牌进行矫正,通过字符分割算法对车牌字符进行切割,有效地解决了复杂环境的干扰、车牌尺寸变化等问题。

对不同背景下的光照车牌进行了大量实验,结果表明该算法能准确地进行车牌定位以及字符分割,具有较好的鲁棒性。

关键词:车牌定位;字符分割;边缘检测;车牌校正Research of Vehicle License Plate Location and CharacterSegmentation Under Complex ScenesZHOU Kaijun, CHEN Sanbao, XU Jiangling(School of Automation, Wuhan University of Technology, Wuhan 430063)【Abstract 】An edge detection-projection feature based algorithm to locate the LP and a vertical projection-template matching algorithm to segment the characters are proposed. The edges are detected in a gray-level vehicle image, the result of experiment shows that the speed of detecting license plate is high and the obtained contour is very legible. The LP region is located by projection method, the tilt angle of LP is corrected by Hough transform. The character is segmented by LP segmentation algorithm, and some problems are solved effectively under complex scenes. To demonstrate the effectiveness of the proposed algorithm, it conducts extensive experiments over a large number of real-world vehicle license plates.It reports that the proposed algorithms have high accuracy and robustness.【Key words 】LP location; Character segmentation; Edge detection; LP orientation correction计 算 机 工 程Computer Engineering 第33卷 第4期Vol.33 No.4 2007年2月February 2007·人工智能及识别技术·文章编号:1000—3428(2007)04—0198—03文献标识码:A中图分类号:TP39车牌照自动识别技术是智能交通系统(ITS)中的重要研究课题,在停车场和高速公路收费管理中有着广泛的应用。

车牌定位分割 实验报告

车牌定位分割 实验报告

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

2.车牌号码识别系统原理图各部分说明如下:(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。

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

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

(3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像。

(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分割出的字符图像进行识别给出文本形式的车牌号码。

3.源程序代码及图形(1)I=imread('yuan.bmp');figure;subplot(2,2,1);imshow(I);title('原图');I1=rgb2gray(I);%图像灰度化subplot(2,2,2);imshow(I1);title('灰度化图');m2=medfilt2(I1,[5,5]);subplot(2,2,3);imshow(m2);title('中值滤波');w2=wiener2(I1,[5,5]);%维纳滤波subplot(2,2,4);imshow(w2);title('维纳滤波');(2)图像二值化fmax1=double(max(max(I1)));fmin1=double(min(min(I1)));level=(fmax1-(fmax1-fmin1)/3)/255; bw2=im2bw(I1,level);bw22=double(bw2);figure,imshow(bw22),title('图像二值化 ');(3)图像算法处理lubo=edge(bw22,'log');figure;subplot(2,2,1);imshow(bw2);title('Log算子边缘检测');%图像边缘检测bg1=imclose(lubo,strel('rectangle',[1,33]));subplot(2,2,2),imshow(bg1);title('图像闭运算[1,33]'); bg3=imopen(bg1,strel('rectangle',[1,33]));subplot(2,2,3),imshow(bg3);title('图像开运算 [1,33]'); bg2=imopen(bg3,strel('rectangle',[12,1]));subplot(2,2,4),imshow(bg2);title('图像开[15,1]');(4)图像标记[L,num] = bwlabel(bg2,8);%标注二进制图像中已连接的部分%Feastats = imfeature(L,'basic');%计算图像区域的特征尺寸%Area=[Feastats.Area];%区域面积%BoundingBox=[Feastats.BoundingBox];%[x y width height]车牌的框架大小%RGB = label2rgb(L, 'spring', 'k', 'shuffle'); %标志图像向RGB图像转换figure,imshow(L);title('图像标记 ');%输出框架的彩色图像(5)形态滤波I5=bwareaopen(L,1000);%去除聚团灰度值小于2000的部分figure,imshow(I5),title('形态滤波后图像');(6) [y,x,z]=size(I5);I6=double(I5);Y1=zeros(y,1);for i=1:yfor j=1:xif(I6(i,j,1)==1)Y1(i,1)= Y1(i,1)+1;endendend[temp MaxY]=max(Y1);figure();subplot(3,2,1),plot(0:y-1,Y1),title('行方向像素点灰度值累计和’),xlabel('行值'),ylabel('像素');PY1=MaxY;while ((Y1(PY1,1)>=50)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while ((Y1(PY2,1)>=50)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);X1=zeros(1,x);for j=1:xfor i=PY1:PY2if(I6(i,j,1)==1)X1(1,j)= X1(1,j)+1;endendendsubplot(3,2,2),plot(0:x-1,X1),title('列方向像素点灰度值累计和'),xlabel('列值'),ylabel('像数');PX1=1;while ((X1(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while ((X1(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;%分割出车牌图像%dw=I(PY1:PY2,PX1:PX2,:);subplot(3,2,3),imshow(dw),title('定位剪切后的彩色车牌图像')if isrgb(dw)II1 = rgb2gray(dw); %将RGB图像转化为灰度图像else II1=dw;endg_max=double(max(max( II1)));g_min=double(min(min( II1)));T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值[m,n]=size(II1);% d:二值图像%h=graythresh(I1);II=im2bw(II1,T/256);subplot(3,2,4);imshow(II),title('二值化车牌图像');I2=bwareaopen(II,20);subplot(3,2,5);imshow(I2),title('形态学滤波后的二值化图像');[y1,x1,z1]=size(I2);I3=double(I2);TT=1;%%%%%%%去除图像顶端和底端的不感兴趣的区域 %%%%%Y1=zeros(y1,1);for i=1:y1for j=1:x1if(I3(i,j,1)==1)Y1(i,1)= Y1(i,1)+1 ;endendendPy1=1;Py0=1;while ((Y1(Py0,1)<20)&&(Py0<y1))Py0=Py0+1;endPy1=Py0;while((Y1(Py1,1)>=20)&&(Py1<y1))Py1=Py1+1;endI2=I2(Py0:Py1,:,:);subplot(3,2,6);imshow(I2),title('目标车牌区域');(7)%%%%%% 分隔字符按行累计值%%%%%%%X1=zeros(1,x1);for j=1:x1for i=1:y1if(I3(i,j,1)==1)X1(1,j)= X1(1,j)+1;endendendfigure;plot(0:x1-1,X1),title('列方向像素点灰度值来计和 '),xlabel('列值'),ylabel('累计像素量 ');Px0=1;Px1=1;(8) %%%%%%%%%%%%分割字符%%%%%%%%%%%%%%%%%%for i=1:7while ((X1(1,Px0)<3)&&(Px0<x1))Px0=Px0+1;endPx1=Px0;while (((X1(1,Px1)>=4)&&(Px1<x1))||((Px1-Px0)<10)) Px1=Px1+1;endZ=I2(:,Px0:Px1,:);switch strcat('Z',num2str(i))case'Z1'PIN0=Z;case'Z2'PIN1=Z;case'Z3'PIN2=Z;case'Z4'PIN3=Z;case'Z5'PIN4=Z;case'Z6'PIN5=Z;otherwisePIN6=Z;endfigure(8);subplot(1,7,i);imshow(Z);Px0=Px1;end。

车牌字符识别调研报告

车牌字符识别调研报告

车牌字符识别调研汇报一、背景与重要意义:伴随科技旳日渐进步, 计算机在各个领域应用旳不停扩大和图像处理技术旳不停提高, 越来越多旳人将目光放在了研究字符识别上。

目前诸多工厂实现了工业生产系统全自动化运行, 各行各业都朝着自动化方向发展。

而在另首先, 伴随我国经济旳持续高速发展以及都市化进程旳加速, 使得都市与汽车旳数量也随之大幅增长, 道路交通旳流量不停增大。

不过与之相对应旳基础交通设施, 道路建设却增长缓慢, 已难以满足如今现代化都市旳需要。

因此, 有人提出了给车辆建立它们旳身份系统, 通过这个系统, 当检测到车辆超载、超车等违规现象旳时候就可以自行对车主进行惩罚、记录, 在车辆被收取过路费旳时候可以也自动从车主账户处理。

然而国外旳此方面技术虽然成熟, 不过并不能直接应用与我国。

由于我国旳车牌字符不仅包括字母和数字, 还包括比之复杂许多旳中文。

也由于我国旳道路条件还比较差, 污染亦比较严重, 行车过程中多种偶尔原因都也许导致车牌不能迅速识别。

因此, 精确又迅速旳识别车牌, 已变成如今国内研究车牌识别系统旳重要内容, 也是智能交通系统得以实现旳重要构成部分。

二、有关算法●车牌字符识别系统旳有关算法有三部分构成: 车牌定位、字符分割、字符识别。

●车牌定位对于车牌定位算法旳研究, 基于边缘密度分析旳车牌定位算法和基于连通域分析旳字符分割算法。

基于边缘密度旳车牌定位算法首先进行图像预处理, 然后运用改善旳 sobel 算法提取边缘, 最终再进行边缘密度分析将提取旳边缘点连接成线段, 最终进行形态学操作定位车牌区域并清除伪车牌。

因此基于边缘密度旳车牌定位算法旳基本流程总结为:(1) 图像预处理, 将彩色图像灰度化, 并合适降维以提高运算速度, 通过灰度方差法来增强车牌类似区域(2) 运用改善旳 sobel 算子对预处理后旳图像进行边缘提取(3) 进行边缘密度分析, 车牌区域旳垂直边缘比较丰富, 考虑到车牌倾斜旳影响, 同步分析斜线边缘, 根据车牌区域旳某些先验知识, 例如说车牌长宽比、车牌区域内旳字符数、车牌字符间隔等等, 标识符合规则旳边缘点, 边缘点连接成线段。

汽车车牌自动定位与字符分割

汽车车牌自动定位与字符分割

I=imread('Car.jpg'); %读入图片figure(1),imshow(I); %显示出图片[y,x,z]=size(I);myI=double(I); %转化数据为双精度型%%%%%%%%%%% RGB to HIS %%%%%%%%tic % 测定算法执行的时间,开始计时%%%%%%%%%%% 统计分析%%%%%%%%%%%%%%%%=========== Y 方向=============Blue_y=zeros(y,1);for i=1:yfor j=1:xif((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3) >=119)))% 蓝色RGB的灰度范围Blue_y(i,1)= Blue_y(i,1)+1; % 蓝色象素点统计endendend[temp MaxY]=max(Blue_y); % Y方向车牌区域确定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 方向%======================Blue_x=zeros(1,x); % 进一步确定X方向的车牌区域for j=1:xfor i=PY1:PY2if((myI(i,j,1)<=30)&&((myI(i,j,2)<=62)&&(myI(i,j,2)>=51))&&((myI(i,j,3)<=142)&&(myI(i,j,3) >=119)))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)<8)&&(PX2>PX1))PX2=PX2-1;end%======对车牌区域的修正=========PX1=PX1-2; %PX2=PX2+2;Plate=I(PY1:PY2,PX1-2:PX2+2,:);%======像素点数在X、Y方向上的统计并且显示数量统计图t=toc; % 读取计时figure(2),plot(Blue_x);gridfigure(3),plot(Blue_y);gridfigure(4),imshow(IY);figure(5),imshow(Plate);%======字符分割并且分别显示IA=I(PY1:PY2,PX1-2:PX1+12,:);figure(6),imshow(IA);IB=I(PY1:PY2,PX1+ 12:PX1+26,:);figure(7),imshow(IB);IC=I(PY1:PY2,PX1+28:PX1+44,:);figure(8),imshow(IC);ID=I(PY1:PY2,PX1+44:PX1+56,:);figure(9),imshow(ID);IE=I(PY1:PY2,PX1+58:PX1+70,:);figure(10),imshow(IE);IF=I(PY1:PY2,PX1+70:PX1+84,:);figure(11),imshow(IF);IG=I(PY1:PY2,PX1+84:PX2+2,:);figure(12),imshow(IG);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 字符分割模块算法% 定位剪切后的彩色车牌图像--灰度--二值化--统一到黑底白字--去除上下边框% --切割出最小范围--滤波--形态学处理--分割出7个字符% 去除上下边框算法:% 1.黑白跳变小于阈值则被视为背景;2.连续白线大于某阈值则该白线被认为是背景% 3.单行白色大于阈值则被认为是背景,考虑FLAG的值;% 4.做完以上处理后,上边1/2 中搜索连续两条黑线,认为该黑线以上为背景;在下边1/2 中搜索连续两条黑线,认为该黑线以下为背景% 归一化为40*20 ,商用系统程序中归一化为32*16 ,此处仅演示作用function [d]=lpcseg(jpg)I=imread('car1.jpg');I1=rgb2gray(I);I2=edge(I1,'robert',0.15,'both');se=[1;1;1];I3=imerode(I2,se);se=strel('rectangle',[25,25]);I4=imclose(I3,se);I5=bwareaopen(I4,2000);[y,x,z]=size(I5);myI=double(I5);ticwhite_y=zeros(y,1);for i=1:yfor j=1:xif(myI(i,j,1)==1)white_y(i,1)= white_y(i,1)+1;endendend[temp MaxY]=max(white_y);PY1=MaxY;while ((white_y(PY1,1)>=5)&&(PY1>1))PY1=PY1-1;endPY2=MaxY;while ((white_y(PY2,1)>=5)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);white_x=zeros(1,x);for j=1:xfor i=PY1:PY2if(myI(i,j,1)==1)white_x(1,j)= white_x(1,j)+1;endendendPX1=1;while ((white_x(1,PX1)<3)&&(PX1<x))PX1=PX1+1;endPX2=x;while ((white_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(1),subplot(3,2,1),imshow(dw),title('定位剪切后的彩色车牌图像')imwrite(dw,'dw.jpg');[filename,filepath]=uigetfile('dw.jpg','输入一个定位裁剪后的车牌图像');jpg=strcat(filepath,filename);a=imread(jpg);%figure(1);subplot(3,2,1),imshow(a),title('1.定位剪切后的彩色车牌图像')b=rgb2gray(a);imwrite(b,'2.车牌灰度图像.jpg');figure(1);subplot(3,2,2),imshow(b),title('2.车牌灰度图像')g_max=double(max(max(b)));g_min=double(min(min(b)));T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值[m,n]=size(b);d=(double(b)>=T); % d:二值图像imwrite(d,'3.车牌二值图像.jpg');figure(1);subplot(3,2,3),imshow(d),title('3.车牌二值图像')% 旋转rotate=0;d=imread('3.车牌二值图像.jpg');bw=edge(d);[m,n]=size(d);theta=1:179;% bw 表示需要变换的图像,theta 表示变换的角度% 返回值r 表示的列中包含了对应于theta中每一个角度的Radon 变换结果% 向量xp 包含相应的沿x轴的坐标[r,xp]=radon(bw,theta);i=find(r>0);[foo,ind]=sort(-r(i));k=i(ind(1:size(i)));[y,x]=ind2sub(size(r),k);[mm,nn]=size(x);if mm~=0 && nn~=0j=1;while mm~=1 && j<180 && nn~=0i=find(r>j);[foo,ind]=sort(-r(i));k=i(ind(1:size(i)));[y,x]=ind2sub(size(r),k);[mm,nn]=size(x);j=j+1;endif nn~=0if x % Enpty matrix: 0-by-1 when x is an enpty array.x=x;else % 可能x 为空值x=90; % 其实就是不旋转endd=imrotate(d,abs(90-x)); % 旋转图像rotate=1;endendimwrite(d,'4.Radon 变换旋转后的二值图像.jpg');figure(1),subplot(3,2,4),imshow(d),title('4.Radon 变换旋转后的二值图像')% 统一到白底黑字[m,n]=size(d);% flag=0 表示原来就是白底黑字,否则表示原来是黑底白字flag=0;c=d([round(m/3):m-round(m/3)],[round(n/3):n-round(n/3)]);if sum(sum(c))/m/n*9>0.5d=~d;flag=1;end% 对反色后的图像预处理,整列几乎为白的认为是背景if flag==1for j=1:nif sum(sum(d(:,j)))/m>=0.95d(:,j)=0;endend% 对以上处理后的图像再处理% 在左边1/2 处找连续两条黑线,认为该黑线左边为背景;在右边1/2 处找连续两条黑线,认为该黑线右边是背景% 左边1/2jj=0;for j=1:round(n/2)if sum(sum(d(:,[j:j+0])))==0jj=j;endendd(:,[1:jj])=0;% 右边1/2for j=n:-1:round(n/2)if sum(sum(d(:,[j-0:j])))==0jj=j;endendd(:,[jj:n])=0;endimwrite(d,'5.统一成黑底白字.jpg');figure(1),subplot(3,2,5),imshow(d),title('5.背景色统一成黑底白字') figure(2),subplot(5,1,1),imshow(d),title('5.黑底白字的二值车牌图像')% 去除上下边框% STEP 1 黑白跳变小于阈值则被视为背景% 上面2/5y1=10; % y1: 跳变阈值for i=1:round(m/5*2)count=0;jump=0;temp=0;for j=1:nif d(i,j)==1temp=1;elsetemp=0;endif temp==jumpcount=count;elsecount=count+1;endjump=temp;endif count<y1d(i,:)=0;endend% 下面2/5for i=3*round(m/5):mcount=0;jump=0;temp=0;for j=1:nif d(i,j)==1elsetemp=0;endif temp==jumpcount=count;elsecount=count+1;endjump=temp;endif count<y1d(i,:)=0;endendimwrite(d,'6.黑白跳变小于某阈值的行则被视为背景.jpg');figure(2),subplot(5,1,2),imshow(d),title('6.黑白跳变小于某阈值的行则被视为背景')% STEP 2 单行白色大于阈值则被认为是背景,考虑FLAG 的值% 上面2/5y2=round(n/2); % y2: 阈值for i=1:round(m/5*2)if flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2);if temp<y2d(i,:)=0;endendend% 下面2/5for i=round(3*m/5):mif flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2);if temp<y2endendendimwrite(d,'7.单行白色点总数大于某阈值则该行被认为是背景.jpg');figure(2),subplot(5,1,3),imshow(d),title('7.单行白色点总数大于某阈值则该行被认为是背景') % STEP 3 单行白色大于阈值则被认为是背景,考虑FLAG 的值% 上面2/5y2=round(n/2); % y2: 阈值for i=1:round(m/5*2)if flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2);if temp<y2d(i,:)=0;endendend% 下面2/5for i=round(3*m/5):mif flag==0temp=sum(d(i,:));y2=round(n/2);if temp>y2d(i,:)=0;endelsetemp=m-sum(d(i,:));y2=m-round(n/2);if temp<y2d(i,:)=0;endendendimwrite(d,'8.单行白色点总数大于某阈值则该行被认为是背景.jpg');figure(2),subplot(5,1,4),imshow(d),title('8.单行白色点总数大于某阈值则该行被认为是背景') % STEP 4 做完以上处理后,上边1/2 中搜索连续两条黑线,认为该黑线以上为背景;% 在下边1/2 中搜索连续两条黑线,认为该黑线以下为背景% 上边1/2for i=1:round(m/2)if sum(sum(d([i,i+0],:)))==0ii=i;endendd([1:ii],:)=0;% 下边1/2for i=m:-1:round(m/2)if sum(sum(d([i-0:i],:)))==0ii=i;endendd([ii:m],:)=0;imwrite(d,'9.搜索上下两条黑线后的结果.jpg');figure(2),subplot(5,1,5),imshow(d),title('9.搜索上下两条黑线后的结果')% 反旋转if rotate==1d=imrotate(d,-abs(x-90));endimwrite(d,'10.反旋转去毛刺后.jpg');figure(3),subplot(3,2,1),imshow(d),title('10.反旋转去毛刺后')% 切割处最小范围d=qiege(d);e=d;imwrite(d,'11.切割处最小范围.jpg');figure(3),subplot(3,2,2),imshow(d),title('11.切割处最小范围')figure(3),subplot(3,2,3),imshow(d),title('11.均值滤波前')% 滤波h=fspecial('average',3);d=im2bw(round(filter2(h,d)));imwrite(d,'12.均值滤波后.jpg');figure(3),subplot(3,2,4),imshow(d),title('12.均值滤波后')% 某些图像进行操作% 膨胀或腐蚀% se=strel('square',3); % 使用一个3X3的正方形结果元素对象对创建的图像进行膨胀% 'line'/'diamond'/'ball'...se=eye(2); % eye(n) returns the n-by-n identity matrix 单位矩阵[m,n]=size(d);if bwarea(d)/m/n>=0.365d=imerode(d,se);elseif bwarea(d)/m/n<=0.235d=imdilate(d,se);endimwrite(d,'13.膨胀或腐蚀处理后.jpg');figure(3),subplot(3,2,5),imshow(d),title('13.膨胀或腐蚀处理后')% 寻找连续有文字的块,若长度大于某阈值,则认为该块有两个字符组成,需要分割d=qiege(d);[m,n]=size(d);figure,subplot(2,1,1),imshow(d),title(n)k1=1;k2=1;s=sum(d);j=1;while j~=nwhile s(j)==0j=j+1;endk1=j;while s(j)~=0 && j<=n-1j=j+1;endk2=j-1;if k2-k1>=round(n/6.5)[val,num]=min(sum(d(:,[k1+5:k2-5])));d(:,k1+num+5)=0; % 分割endend% 再切割d=qiege(d);% 切割出7 个字符y1=10;y2=0.25;flag=0;word1=[];while flag==0[m,n]=size(d);left=1;wide=0;while sum(d(:,wide+1))~=0wide=wide+1;endif wide<y1 % 认为是左侧干扰d(:,[1:wide])=0;d=qiege(d);elsetemp=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>y2flag=1;word1=temp; % WORD 1endd(:,[1:wide])=0;d=qiege(d);endend% 分割出第二个字符[word2,d]=getword(d);% 分割出第三个字符[word3,d]=getword(d);% 分割出第四个字符[word4,d]=getword(d);% 分割出第五个字符[word5,d]=getword(d);% 分割出第六个字符[word6,d]=getword(d);% 分割出第七个字符[word7,d]=getword(d);subplot(5,7,1),imshow(word1),title('1');subplot(5,7,2),imshow(word2),title('2');subplot(5,7,3),imshow(word3),title('3');subplot(5,7,4),imshow(word4),title('4');subplot(5,7,5),imshow(word5),title('5');subplot(5,7,6),imshow(word6),title('6');subplot(5,7,7),imshow(word7),title('7');[m,n]=size(word1);% 商用系统程序中归一化大小为32*16,此处演示word1=imresize(word1,[40 20]);word2=wordprocess(word2);word3=wordprocess(word3);word4=wordprocess(word4);word5=wordprocess(word5);word6=wordprocess(word6);word7=wordprocess(word7);subplot(5,7,15),imshow(word1),title('1');subplot(5,7,16),imshow(word2),title('2');subplot(5,7,17),imshow(word3),title('3');subplot(5,7,18),imshow(word4),title('4');subplot(5,7,19),imshow(word5),title('5');subplot(5,7,20),imshow(word6),title('6');subplot(5,7,21),imshow(word7),title('7');imwrite(word1,'14.字符分割归一化后1.jpg'); imwrite(word2,'14.字符分割归一化后2.jpg'); imwrite(word3,'14.字符分割归一化后3.jpg'); imwrite(word4,'14.字符分割归一化后4.jpg'); imwrite(word5,'14.字符分割归一化后5.jpg'); imwrite(word6,'14.字符分割归一化后6.jpg'); imwrite(word7,'14.字符分割归一化后7.jpg');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clcword='';word(1)=wordrec(word1);word(2)=wordrec(word2);word(3)=wordrec(word3);word(4)=wordrec(word4);word(5)=wordrec(word5);word(6)=wordrec(word6);word(7)=wordrec(word7);clcsave I 'word1' 'word2' 'word3' 'word4' 'word5' 'word6' 'word7'clearload I;load bp net;word='';word(1)=wordrec(word1);word(2)=wordrec(word2);word(3)=wordrec(word3);word(4)=wordrec(word4);word(5)=wordrec(word5);word(6)=wordrec(word6);word(7)=wordrec(word7);word=strcat('识别结果:',word);subplot(5,3,14),imshow([]),title(word,'fontsize',24)% 该子程序用于切割出最小范围function e=qiege(d)[m,n]=size(d);top=1;bottom=m;left=1;right=n; % initwhile sum(d(top,:))==0 && top<=mtop=top+1;endwhile sum(d(bottom,:))==0 && bottom>=1bottom=bottom-1;endwhile sum(d(:,left))==0 && left<=nleft=left+1;endwhile sum(d(:,right))==0 && right>=1right=right-1;enddd=right-left;hh=bottom-top;e=imcrop(d,[left top dd hh]);% 分割字符function [word,result]=getword(d)word=[];flag=0;y1=8;y2=0.5;% if d==[]% word=[];% elsewhile flag==0[m,n]=size(d);wide=0;while sum(d(:,wide+1))~=0 && wide<=n-2wide=wide+1;endtemp=qiege(imcrop(d,[1 1 wide m]));[m1,n1]=size(temp);if wide<y1 && n1/m1>y2d(:,[1:wide])=0;if sum(sum(d))~=0d=qiege(d); % 切割出最小范围else word=[];flag=1;endelseword=qiege(imcrop(d,[1 1 wide m]));d(:,[1:wide])=0;if sum(sum(d))~=0;d=qiege(d);flag=1;else d=[];endendend%endresult=d;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 该子程序用于字符归一化处理function d=wordprocess(d)[m,n]=size(d);%top 1/3, bottom 1/3for i=1:round(m/3)if sum(sum(d([i:i+0],:)))==0ii=i;d([1:ii],:)=0;endendfor i=m:-1:2*round(m/3)if sum(sum(d([i-0:i],:)))==0ii=i;d([ii:m],:)=0;endendif n~=1d=qiege(d);end% d=..这个可以通过训练过程设置大小% d=imresize(d,[32 16]); % 商用系统程序中归一划大小为:32*16d=imresize(d,[40 20]);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 编号:A-Z 分别为1-26; 0-9 分别为27-36;% 京津沪渝港澳吉辽鲁豫冀鄂湘晋青皖苏% 赣浙闽粤琼台陕甘云川贵黑藏蒙桂新宁% 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59% 60 61 62 63 64 65 66 67 68 69 70% 使用BP 网络function word=wordrec(xx)% clear% clcload bp net;xx=im2bw(xx);xx=double(xx(:)); % 使用阈值将图像转换为二进制图像a=sim(net,xx); % 归一划为:32*16,则xx=512*1;[val,num]=max(a);if num<=26word=char(double('A')+num-1);elseif num<=36word=char(double('0')+num-1-26);elseswitch numcase 37word='京';case 38word='津';case 39word='沪';word='渝'; case 41word='港'; case 42word='澳'; case 43word='吉'; case 44word='辽'; case 45word='鲁'; case 46word='豫'; case 47word='冀'; case 48word='鄂'; case 49word='湘'; case 50word='晋'; case 51word='青'; case 52word='皖'; case 53word='苏'; case 54word='赣'; case 55word='浙'; case 56word='闽'; case 57word='粤'; case 58word='琼'; case 59word='台'; case 60word='陕'; case 61word='甘';word='云';case 63word='川';case 64word='贵';case 65word='黑';case 66word='藏';case 67word='蒙';case 68word='桂';case 69word='新';case 70word='宁';endend。

车牌定位与字元切割

车牌定位与字元切割

國立勤益科技大學 National Chin-Yi University of Technology車牌定位與字元切割組 員:林鑫宏指導老師:劉正忠 教授報告日期:民國99年1月25日目錄一、 前言.....................錯誤! 尚未定義書籤。

二、 車牌定位..................錯誤! 尚未定義書籤。

2-1 定位流程圖.............錯誤! 尚未定義書籤。

2-2 灰階處理...............錯誤! 尚未定義書籤。

2-3 Sobel邊緣偵測..........錯誤! 尚未定義書籤。

2-4 過濾較低梯度與.........錯誤! 尚未定義書籤。

2-5 二值化.................錯誤! 尚未定義書籤。

2-6 車牌定位...............錯誤! 尚未定義書籤。

三、 字元切割..................錯誤! 尚未定義書籤。

3-1 字元切割流程圖.........錯誤! 尚未定義書籤。

3-2 前處理.................錯誤! 尚未定義書籤。

3-2-1灰階化.............錯誤! 尚未定義書籤。

3-2-2二值化.............錯誤! 尚未定義書籤。

3-2-3旋轉校正...........錯誤! 尚未定義書籤。

3-2-4邊緣變換判斷.......錯誤! 尚未定義書籤。

3-2-5車牌縮邊...........錯誤! 尚未定義書籤。

3-3 投影法.................錯誤! 尚未定義書籤。

3-4 水平投影...............錯誤! 尚未定義書籤。

3-5 水平切割...............錯誤! 尚未定義書籤。

3-6 垂直投影...............錯誤! 尚未定義書籤。

3-7垂直切割...............錯誤! 尚未定義書籤。

四、 實驗成果..................錯誤! 尚未定義書籤。

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

车牌的定位与分割实验报告一实验目的针对交通智能系统所拍摄的汽车图片,利用设定的算法流程,完成对汽车车牌部分的定位,分割车牌部分,并完成字符的分割,以便于系统的后续分析及处理。

二实验原理详见《车牌的定位与字符分割》论文。

三概述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所示。

图4-4 初步恢复图像图4-5 初始PSF 复原的图像呈现出由算法中使用的离散傅里叶变换所引入的振铃,则我们在调用函数deconvblind之前要使用函数edgetaper。

消除振铃后的图像如图4-6所示,新重建的PSF如图4-7所示。

图4-6 消除振铃后的图像图4-7 新重建的PSF由图可以看出,恢复后的图像消除了振铃的存在,但是,恢复结果仍有一定的失真。

4.1.3图像增强此处采用直方图均衡化来增强图像对比度。

图4-8为原始图像,图4-9为直方图均衡化后的效果图。

图4-8 原始图像图4-9为直方图均衡化后的效果图很明显地增强了图像对比度。

4.2车牌定位4.2.1垂直边缘检测对于垂直边缘,我们提出了自己的算法,能很好地去除大量非字符的垂直边缘,定位效果也较好。

图4-10给出了本文算法与Sobel算法、Prewitt算法的应用结果比较。

图4-10(a)为原始图像,图(b)为其灰度图像,图(c)为用sobel 垂直算子获得的垂直边缘图,图(d)用prewitt垂直算子获得的垂直边缘图,图(e)为用canny算子获得的边缘图,图(f)为使用本文算法获得的垂直边缘图,模板参数取m=2,n=12。

a.原始图像b.灰度图像c.Sobel算子处理的结果d.Prewitt算子处理的结果e.Canny算子处理的结果f.本文算法处理结果图4-10本文算法和经典算法的比较4.2.2(多次)形态学处理的粗定位一次形态学处理后的结果如若不理想,可进行第二次形态学处理,且结构元素大小可根据实际情况进行调整。

图4-11是运用该算法对图4-10(f)的垂直纹理图进行两次形态学处理的结果。

a.一次形态中腐蚀的结果b.一次形态中膨胀的结果c.二次形态中腐蚀的结果d.二次形态中膨胀的结果图4-11 运用该算法对图4-10(f)的垂直纹理图进行两次形态学处理的结果其中,由图d可看出除了目标车牌外,还有三个疑似车牌区,只实现了车牌的粗定位,因此还需要后续处理。

4.2.3合并邻近区域图4-12是运用该算法对另一幅图的处理结果。

a.原始图像b.一次形态后的粗定位图4-12由图中可以看出,由于车牌字符最后三个字符为111,在形态学处理后所得的相应区域与前面的四个字符断开了,从而被当做疑似车牌被该算法舍去了。

而合并邻近区域可很好的解决该问题。

即在形态处理时,根据字符间最大间距等先验知识对形态处理所得个疑似区域进行必要的合并。

图4-13显示合并邻近区域的结果。

图4-13 邻近区域合并的效果4.2.4基于车牌恒定宽高比的后续处理--精确定位运用数学形态学对该图进行处理后,得到多个车牌可能区域。

然后合并邻近区域,再根据车牌的长宽比k恒定等特征,提取出车牌区域。

其中,k值与许多实际因素有关,比如摄像机的物距、拍摄的角度等。

图4-14是的图4-10(a)车牌的精确定位和分割结果。

a.左侧车牌定位b.右侧车牌定位c.定位的左侧车牌d.定位的右侧车牌e.分割出的左侧车牌f.分割出的右侧车牌图4-14 图4-10(a)车牌的精确定位和分割结果图4-15是的图4-12(a)车牌的精确定位和分割结果。

a.定位的车牌b.分割出的车牌图4-15 图4-12(a)车牌的精确定位和分割结果4.2.5 基于颜色的车牌定位由于基于颜色的算法存在以下缺点:车牌有蓝底白字、黄底黑字、黑底白字等多种颜色格式,其中蓝底黑字牌照中的蓝色在各个省之间还有所不同。

而受天气、光照等影响,即便是同种颜色也容易幻化成各种不同的颜色。

因此,彩色信息可靠性较差,如作为主要的定位手段会导致车牌识别系统容易受外界干扰,稳定性较差。

图4-16是的图4-12(a)车牌的精确定位。

a.精确定位b.定位的车牌图4-16 基于颜色的车牌定位虽然如此,但一些地方还可以结合上述基于车牌纹理的定位法达到更好的效果。

4.3车牌预处理4.3.1车牌直方图均衡化方法及结果同4.1.3。

4.3.2基于Radon变换的倾斜校正将所分割车牌归一化,二值化后,为提高边缘的准确性以及抗干扰能力,采用最优的动态阈值canny边缘检测算子。

然后利用Radon变换进行倾斜校正。

图4-17显示了校正结果。

a.原始图像b.分割的车牌c.二值化d.采用canny所得的边缘图像图4-17基于Radon的倾斜校正4.3.3 判定(蓝底白字或者黄底黑字)及二值化原理:①黄底车牌G对B比例在1.2~1.8之间,而蓝底车牌G对B比例,在0.7~1.1之间;②车牌中字符像素占车牌所有像素的比列为0.3~0.4。

图4-18(a、b)显示了判定图4-14(e)(f)及二值化后的结果。

4.4字符的分割4.4.1 垂直投影法图4-18是图4-14(e)(f)左右两车牌二值化及垂直投影后的结果。

a.左车牌b.右车牌c.a的垂直投影d.b的垂直投影图4-18左右两车牌二值化及垂直投影后的结果4.4.2分割字符算法:(1)确定波谷:从左往右依次读取垂直投影值,先判断出第一个波峰,然后根据一般字符宽度的先验知识,去除伪波谷,找到相应的第一个波谷,这便是一个字符,以此往复,得到所有波谷。

(2)去除“•”:各波谷间的距离若小于一般字符的最小宽度即可判断为是“•”,舍去。

(3)取阈值:取所有波谷中的最大值为阈值。

(4)分割字符:根据最终的阈值进行字符分割。

图4-19是最终的分割结果(以左车牌为例)。

图4-19 分割后的字符五实验总结车牌自动识别系统一般包括车牌定位、字符分割和字符识别三个模块。

车牌定位很关键,它直接影响着后面两个模块的处理效果字符分割决定了字符识别的有效性字符识别是整个系统的核心,其算法的优劣最终决定了系统的可用性。

针对汽车牌照自动识别系统中图像效果差的问题,采取了降噪和增强处理,并提出了一种基于盲解卷积的图像复原算法,对模糊图像较好地进行了恢复。

然后给出了一种基于纹理、颜色并结合车牌字符间隔、字符宽度等先验知识的车牌定位方法,该方法经边缘检测获取垂直边缘图,结合形态学而粗定位车牌区域,然后根据车牌固有特征(宽高比、颜色等),来筛选出真正的车牌区域。

字符分割时采用投影法,并借助牌照字符固定宽度、间距的固定比例关系等先验知识实现字符的分割。

另外,我们对车辆自动识别系统涉及的相关算法作了深入地分析和比较,提出了自己的部分算法,具体包括基于车牌特征的车牌定位算法、基于Radon变换的车牌校正算法、基于投影特征和车牌先验知识相结合的字符分割算法等。

此外我们还对文中的大部分算法进行了试验,给出了实验结果。

而且,每个过程均考虑了如何对模糊车牌图像和模糊车牌字符进行处理。

最后对车牌识别各个过程进行综合,完成了车牌识别系统的软件实现。

六实验展望本文虽然在车牌识别原理与方法的探索上作了大量的工作,取得了一定的成果。

但是由于时间的限制,本文的研究还存在许多不足和应该改进的地方,后续研究可以从以下几个方面进行完善:(1)字符分割的研究中,对噪声干扰较大的牌照的字符分割的研究还有待于加强。

同时对于字符关键部位的断裂、粘连等,也干扰了对字符关键特征的提取,因此要进一步选择多特征来表征字符。

(2)不管是车牌定位还是字符分割算法,我们总是不可避免的使用一些经验参数来简化问题。

但考虑人眼观察车牌的事实--具有高度的自适应性:人眼的焦距会随物体的远近也随之调整并能轻而易举的定位或者识别车牌。

如何设计一个经验参数完全自适应的智能算法是一个巨大的挑战。

(3)进一步提高现有算法的速度、准确度、鲁棒性。

目前系统对拍摄环境要求较为苛刻,系统的识别率、识别速度也有待提高。

(4)丰富系统各方面的应用功能,如车辆行驶违章监控、监测黑牌机动车等,并将软硬件结合起来,实现一个完整的智能车辆监控系统并把系统应用到实际中去来检验算法的可靠性,让系统脱离实验室的环境,使其不断得到升级和发展。

相关文档
最新文档