车牌识别 字符识别

article/2025/9/21 0:10:39

字符结构知识在车牌识别中的应用

来源:电子技术应用  作者:中国科学技术大学 宋建才

摘要:提出了一种完全基于结构知识的字符识别方法。该方法以字符的结构特点和笔画类型、数据及位置作为识别特片生成判定时,再利用判定树对汽车牌照中的字母和数字进行分类识别。

    关键词:车牌号码 字符结构 判定树 字符识别

汽车牌照识别是基于图像分割和图像识别理论,对含有汽车牌照的图像进行分析处理,从而确定汽车牌照在图像中的位置,并进一步提取和识别出文本字符。从不同车牌图像中分割出的字符图像各式各样,尺寸变化范围大,增加了识别的难度。尽管可以采用图像变换方法将分割出的所有字符图像归一化为相同尺寸,但归一化过程又不可避免地丢失有用的字符信息,造成图像失真,无助于提高识别准确率,并且浪费时间,降低了识别速度。

本文通过分析汽车牌照的特点,提出了一种利用字符的笔画特征和结构知识对汽车牌照中的字母和数字进行识别的方法。试验表明,该方法识别速度快、准确率高,不受字符图像大小影响,适应性强。

1 车牌字符结构和识别

中国大陆汽车牌照中使用的字符包括59个汉字、25个英文字母(字母I不用)和10个阿拉伯数字三种类型共94个,且都是印刷体,结构固定、笔画规范。图1是车牌号码中使用的全部字母和数字的图像。这些字符的结构在水平方向有三种类型:左右对称、左大右小、左小右大。在竖直方向同样有三种结构,即上下对称、上大下小、上小下大。如车牌号码中使用的数字"8",就属于左右对称且上下对称。

从图1可以看出,全部字母和数字的笔画共有两大类:直笔画和弧笔画。直笔画又可分为横笔画、竖笔画、左斜笔画(相当于汉字笔画中的"撇")和右斜笔画(相当于汉字笔画中的"捺")。弧笔画是一条曲线段,本文将其分为两类:开弧笔画和闭弧笔画。所谓开弧笔画,指该弧笔画没有形成封闭环,如字母"C"。而闭弧笔画则形成一个封闭的环,如数字"0"。

    根据字符图像的这一特点,本文采用下述方法对字母和数字进行逐级分类,形成一棵识别判定树,每个字符就是一个叶子:

(1)首先在待识别的字符图像中搜索封闭环的数量和位置。

(2)根据搜索到封闭环的结果判断字符所在的类封闭环字符类、双封闭环字符类、无封闭环字符类。 (3)针对每一类分别进行处理。

(4)双封闭环字符只有"8"和"B",因此只要抽取竖笔画即可区分出这两个字符。"B"的左半部分有一长竖,而"8"没有。

(5)单封闭环的字符有"A"、"D"、"O"、"P"、"Q"、"R"、"0"、"4"、"6"和"9"。根据封闭环的位置将这些字符分成三类:封闭环在上部;封闭环在下部和封闭环在中间,然后再根据结构特点和抽取的笔画特征进行识别。

.封闭环在上部的字符有"P"、"R"和"9"。如果待识别字符图像上半部分有一个封闭环,则从左半部分抽取竖笔画;若左侧部分没有竖笔画,则该字符为"9";若在左半部分抽取到竖笔画,继续抽取右斜笔画;抽取到右斜笔画,该字符为"R";否则为"P"。

.封闭环在下部的字符有"A"、"4"和"6"。如果待识别字符图像下半部分有一个封闭环,则从右半部分抽取竖笔画;若右侧部分有竖笔画,则该字符为"4";若在右半部分没有抽取到竖笔画,继续抽取横笔画;抽取到横笔画,该字符为"A";否则为"6"。

.封闭环在中间的字符有"D"、"O"、"Q"和"0"。实际应用中,"O"和"0"的图像完全相同,可以作为同一个字符处理。如果待识别字符图像中间有一个封闭环,则首先利用上下对称特点判断是否为"Q";若上下对称,则为"0"("O")或"D";然后按照左右对称特征区分字符"0"和"D"。

(6)无封闭环的字符有"C"、"E"、"F"、"C"、"H"、"J"、"K"、"L"、"M"、"N"、"S"、"T"、"U"、"V"、"W"、"X"、
"Y"、"Z"、"l"、"2"、"3"、"5"和"7",通过抽取笔画对这些字符进行识别,具体步骤如下:

· 抽取横笔画和竖笔画。

· 若待识别字符图像没有横笔画和竖笔画,则该字符为"S"、"V"或"X"。

· 若待识别字符图像只有横笔画而没有竖笔画,则该字符为"2"、"3"、"7"或"Z"。

· 若待识别字符图像只有竖笔画而没有横笔画,则该字符为"1"、"C"、"J"、"K"、"M"、"N"、"U"、"W''或"Y"。

· 待识别字符图像既有横笔画又有竖笔画的字符为"5"、"E"、"F"、"C"、"H"、"l"或"T"。

."S"、"V"和"X"的识别。抽取左斜笔画和右斜笔画,"S"没有这两种笔画,从而可识别出"S"。"X"的两条斜笔画交点位于字符图像的中间位置,而"V"的两条斜笔画相交于字符图像的下部,以此识别"X"和"V"。

· 识别2"、"3"、"7"和"Z"。这四个字符中只有"Z"有两条横笔画,从而可以此识别出"Z"。"3"和"7"的横笔画都位于上部,而"2"的横笔画位于下部,这样又可以识别出"2"。对于"3"和"7",利用左斜笔画进行识别。"7"具有左斜笔画,而"3"没有。

·识别"1"、"C"、"J"、"K"、"M"、"N"、"U"、"W"和"Y"。根据竖笔画的数量将这些字符分为三类,"1"、 "C"、"J"、"K"和"Y"都是一条竖笔画、"M"、"N"和"U"是两条竖笔画,而"W"有三条竖笔画,这样就完成了"W"的识别。

对于一条竖笔画的字符,判断该笔画的位置是在左边("C"和"K")、中间("1"和"Y")还是在右边("J"),即可识别出"厂。根据有无右斜笔画区分"C"和"K",按照中间竖笔画的长短区分"1"和"Y"。

.由于字符"N"有一右斜笔画,以此将其从"M"和"U"中识别出来。对于"M"和"U",依靠结构特征已无法识别,本文使用字符图像中前景像素个数与背景像素个数的比值来判断。根据这两个字符的特点,只计算字符上半部分即可。 · 识别"5"、"E"、"F"、"G"、"H"、"I"和"T"。这些字符中,只有"E"具有三条横笔画,"F"有两条横笔画,其余为一条横笔画。剩下的字符中,按照竖笔画的数量分为两组: "5"、"L"和"T"为一条竖笔画,"G"和"H"为两条竖笔画。"H"的两条竖笔画长度相同,而"G"的两条竖笔画则一长一短,这是区分"G"和"H"的标志。"T"的竖笔画在中间,"5"和"L"的竖笔画在左边。"L"的竖笔画长,"5"的竖笔画短,这样就完成了"5"、"T"和"L"的识别。

搜索封闭环实际上就是在字符图像中搜索连通域。在字符的二值图像中,假定字符像素值"1",背景像素值为"0",则:

(1)无封闭环的字符图像中只有两个连通域,即字符连通域和背景连通域,图2(a)中的B和F。

(2)只有一个封闭环的字符图像中有三个连通域,即一个字符连通域和两个背景连通域,图2(c)中的B1、B2和F。

(3)有两个封闭环的字符图像中有四个连通域,即一个字符连通域和三个背景连通域,图2(b)中的B1she、B2、B3和F。

搜索封闭环的算法如下:

(1)读入二值字符图像。

(2)找到一个像素值为"0"的背景像素点B。

(3)搜索B的连通域,并将该连通域内的像素全部标记为背景1。

(4)遍历图像中像素值为"0"的像素。

(5)若所有"0"像素都已标记为背景1,则该图像内封闭环个数为0,跳转到(11)。

(6)若存在没有标记为背景1的"0"像素点B1,则有封闭环。

(7)搜索B1的连通域,并将该连通域内的像素全部标记为背景2。

(8)遍历图像中像素值为"0"的像素。

(9)若所有"0"像素都已标记为背景1或背景2该图像内封闭环个数为1,跳转到(11)。

(10)若存在没有标记为背景1或背景2的"0"像素,则该图像内封闭环个数为2。

(11)结束搜索,返回封闭环个数。

字符的笔画抽取可参见文献[1]

2 识别测试

利用本识别方法,笔者对从车牌中分割出的字符进行了识别测试。所测试的字符包括了车牌中所使用的全部35个数字和字母共7000幅图像,其中图幅最大的为l00xl00像素,而最小的是20x20像素。正确识别的有6946幅,正确率超过99%。其中识别错误的图像主要集中在字母"0"和"D"。通过对这些容易识别错误的字符进行二次识别,可以大大提高识别准确率

本文提出的字符识别方法的核心就是通过判定树对字符群体层层分类,从树干开始逐步缩小识别范围,直到最后只有一类字符,即识别成功。

该方法具有如下特点:

(1)不需要建立识别样本库,完全依据字符自身的结构特征进行逼近识别。

(2)不需要将待识别字符与全部字符进行匹配识别,因而提高了识别速度和准确率。


http://chatgpt.dhexx.cn/article/5D50R1F5.shtml

相关文章

【深度学习实践】基于深度学习的车牌识别(python,车牌检测+车牌识别)

车牌识别具有广泛的应用前景,基于传统方法的车牌识别效果一般比较差,随着计算机视觉技术的快速发展,深度学习的方法能够更好的完成车牌识别任务。 本文提供了车牌识别方案的部署链接,您可以在网页上体验该模型的效果:车…

C++中文车牌识别检测系统源码

下载地址:C中文车牌识别检测系统源码 其目标是成为一个简单、高效、准确的非限制场景(unconstrained situation)下的车牌识别库。 相比于其他的车牌识别系统,EasyPR有如下特点: 它基于openCV这个开源库。这意味着你可以获取全部源代码&…

车辆检测+车牌识别

车辆检测算法使用YOLOv5实现 自建数据集训练的车辆检测模型,效果还是很棒的 车牌识别使用mtcnn实现车牌检测 lprnet实现车牌号码识别 两者都是pytorch框架 整合在一个工程中实现车辆检测和车牌识别 同时使用pyqt开发可视化界面

智能驾驶 车牌检测和识别(一)《CCPD车牌数据集》

智能驾驶 车牌检测和识别(一)《CCPD车牌数据集》 目录 智能驾驶 车牌检测和识别(一)《CCPD车牌数据集》 1. 前言 2.车牌号码说明 3.车牌数据集CCPD (1)车牌数据集CCPD说明 (2&#xff09…

智能驾驶 车牌检测和识别(二)《YOLOv5实现车牌检测(含车牌检测数据集和训练代码)》

智能驾驶 车牌检测和识别(二)《YOLOv5实现车牌检测(含车牌检测数据集和训练代码)》 目录 智能驾驶 车牌检测和识别(二)《YOLOv5实现车牌检测(含车牌检测数据集和训练代码)》 1. 前…

在线合成车牌照片【模拟车牌,用于车牌识别项目测试】

1、服务发布地址: http://new.hdsxsc.com:10086/server.php?cphm冀DSX888&cpys0 2、传参说明: cphm:车牌号码【仅限合规的车牌号码规则】 cpys:车牌颜色: 0蓝色,1黄色,2白色&#xff0c…

车牌号码识别程序分享

本文参考博客使用opencv进行车牌提取及识别进行。程序部分为网上获取程序修改而来,并在其中加入了自己的注释和理解 采用pythonopencv进行程序编写。 课程设计内容分享 程序下载请前往https://download.csdn.net/download/chenkz123/10841956 一个典型的车辆牌照…

车牌图像识别

1.车牌预处理 车牌预处理过程的好坏直接影响到车牌图像进行后期处理过程,比如车牌字符分割等。车牌预处理也是尽可能的消除噪声,减少后期处理带来的不必要的麻烦。 输入的车牌是24Bit的BMP真彩色图像,车牌照有黄底黑字,蓝底白字…

基于python+OpenCV的车牌号码识别

基于pythonOpenCV的车牌号码识别 车牌识别行业已具备一定的市场规模,在电子警察、公路卡口、停车场、商业管理、汽修服务等领域已取得了部分应用。一个典型的车辆牌照识别系统一般包括以下4个部分:车辆图像获取、车牌定位、车牌字符分割和车牌字符识别 …

TensorFlow进阶:车牌号识别项目

终于算是闲下来点时间了,也不能算闲,该交的报告什么的算完事了。其他要交的东西现在还不急,然后考研的东西现在也不想看,再加上中午没睡好,下午也不想学习新的东西了,就抽出点时间把前段时间做的一个小项目…

数字图像处理--车牌识别

数字图像处理–车牌识别 主要内容 实现车牌识别 算法流程 本文中,车牌识别具体流程设计以及算法使用主要分为以下几步。 1、读取源车牌图像。 2、对原始车牌图像进行预处理:灰度化,运用基于几何运算的滤波器(开运算)消除毛刺噪声。 3、二…

数字图像处理——基于matlab的车牌号识别

希望大家有问题多多评论留言鸭 码字不易&#xff0c;老阿姨头发都没啦&#xff0c;小可爱们记得给三连鸭&#xff0c;么么哒。 &#xff08;只收藏&#xff0c;不点赞&#xff0c;好运连连会中断&#xff01;&#xff01;&#xff01;&#xff09; <--!&#xff08;源码资源…

【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)

前面4篇博客介绍了OpenCV图像处理的基础知识&#xff0c;本篇博客利用前4篇的知识完成一个小项目——车牌号码识别。该篇博客的代码可以满足小区门禁车牌号的识别。本篇博客是前4篇博客知识的一个综合运用。感觉学会了这个可以实现一系列的图像识别任务。。。毕竟好多技巧都是共…

网络安全检测技术

一&#xff0c;网络安全漏洞 安全威胁是指所有能够对计算机网络信息系统的网络服务和网络信息的机密性&#xff0c;可用性和完整性产生阻碍&#xff0c;破坏或中断的各种因素。安全威胁可分为人为安全威胁和非人为安全威胁两大类。 1&#xff0c;网络安全漏洞威胁 漏洞分析的…

深度学习网络安全

Introduction 我们在社区中看到的大多数深度学习应用程序通常面向营销&#xff0c;销售&#xff0c;财务等领域。我们几乎从未阅读过文章或找到有关深度学习的资源用于保护这些产品和业务&#xff0c; 恶意软件和黑客攻击。 虽然像谷歌&#xff0c;Facebook&#xff0c;微软和…

网络安全法学习整理笔记

网络安全法 一、背景 概念 网络&#xff1a;是指由计算机或者其他信息终端及相关设备组成的按照一定的规则和程序对信息进行收集、存储、传输、交换、处理的系统。网络安全&#xff1a;是指通过采取必要措施&#xff0c;防范对网络的攻击、侵入、干扰、破坏和非法使用以及意…

网络安全免费学习网址(英文)

转载 作者&#xff1a;W-Pwn 链接&#xff1a;https://www.zhihu.com/question/49222590/answer/339206050 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 知识就是力量 但是知识太贵了&#xff0c;现在随便拎…

【论文阅读】基于强化学习的网络安全防护策略

【论文阅读】基于强化学习的网络安全防护策略 本篇文章将介绍一篇针对网络安全问题&#xff0c;运用强化学习方法寻找最优的网络防御策略。 Finding Effective Security Strategies through Reinforcement Learning and Self-Play 前言 通过强化学习和 自对弈(self-play) 寻…

还在为不知道怎么学习网络安全而烦恼吗?这篇文带你从入门级开始学习网络安全—认识网络安全

随着网络安全被列为国家安全战略的一部分&#xff0c;这个曾经细分的领域发展提速了不少&#xff0c;除了一些传统安全厂商以外&#xff0c;一些互联网大厂也都纷纷加码了在这一块的投入&#xff0c;随之而来的吸引了越来越多的新鲜血液不断涌入。 不同于Java、C/C等后端开发岗…

[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例

最近开始学习网络安全相关知识&#xff0c;接触了好多新术语&#xff0c;感觉自己要学习的东西太多&#xff0c;真是学无止境&#xff0c;也发现了好几个默默无闻写着博客、做着开源的大神。准备好好学习下新知识&#xff0c;并分享些博客与博友们一起进步&#xff0c;加油。非…