基于MATLAB的字符识别研究

合集下载

MNIST 手写数字识别 matlab

MNIST 手写数字识别 matlab

文结构如下:第二章介绍了实验目标和实验 原则和结构,第三章对手写数字特征进行了 全面总结,第四章应用单特征和多特征对 MNIST 数据库手写数字进行了识别,并引入 了一种新的特征提取方法改进了识别能力, 第五章对实验内容进行了总结和展望。
另外实验数据采用 NEC 研究中心的 MNIST 手 写 数 字 数 据 库, 许 多 实 验 研 究 基 于此库 [4] ,里面包含了 60000 个训练样本 和 10000 个测试样本,每个样本为 28 × 28 像 素的 bmp 图片。我们在文中默认有以下定 义: 识别率 错误识别数/样本 总数 ×100%
样本和 10000 个测试样本,每个特征提取都 对所有的训练样本进行了学习,提取出特征 值,每次识别测试都对所有的测试样本进行 了识别,与测试样本正确值比较(test.txt) , 并把记录错误(log.txt), 最后根据记录进行 比较。
4.2
单特征识别
图 6: 4×4 粗网格特征每个数字识别 该方法选取了 4×4=16 个特征值,经实 验 10000 个测试中正确识别了 6628 个,识别 率达 66.28%,具体每个数字识别如图 6 ,横 轴代表每个数字,纵轴红色代表每个数字测 试样本个数,蓝色代表失误识别个数(下文 均同此) 。 4×4 粗网格特征识别对每个数字 的识别率都不高,最好的数字 6 识别率也不 过 80% 左右,部分是因为选取的网格过大所 致。 4.2.2 7×7 粗网格特征识别
单特征识别是指仅采用第三章中一种特 征值的方法对手写数字进行识别。本实验中 采用了 4×4 粗网格和 7×7 粗网格特征,以 及一种新的特征对手写数字进行了识别,得 到了不同的效果。 4.2.1 4×4 粗网格特征识别
粗网格的特征提取过程主要是将处理后 的样本图像分划为不重叠的局部块,将每个 块中的黑色像素个数占全部像素的百分比 作为特征。本文实验中如图 3 将 28 × 28 样 本 数 字 手 写 图 像 横 向、纵 向 各 用 间 距 为 4 pixels 和 7 pixels 的水平线和竖直线将图像分 为 7 × 7 = 49 块和 4 × 4 = 16 块区域,统 计每块区域黑色像素所占比例作为特征值。 所取块越小,对数字分辨能力相对越强。考 虑一种极端情况:当块大小只有一个像素点, 判断标准即此像素点是否为黑色像素,特征 值只有 0 、 1 两个可能,这样相当于有一个 模块对测试数字进行匹配。

基于Matlab GUI的维吾尔文字符识别系统的设计

基于Matlab GUI的维吾尔文字符识别系统的设计

基于Matlab GUI的维吾尔文字符识别系统的设计伊力哈木·亚尔买买提;哈力旦·A【期刊名称】《计算机技术与发展》【年(卷),期】2010(020)011【摘要】基于建立对视频中维吾尔文字符的识别提取系统,以视频中维吾尔字符为对象,首先对维吾尔文字符进行了字符检测,以便确定其维吾尔文字符在视频中的大小、位置,其次对所确定的维吾尔文字符进行字符定位以便作进一步的处理,然后运用Canny算子将其提取出的维吾尔文字符进行彩色图像转换为灰度化的边缘图像,最后利用Matlab GUI设计了维吾尔文字符的识别系统,实现了视频中维吾尔文字符的检测、字符定位、图像抖动、对比度调整、灰度化、边缘检测、提取字符等功能.实验结果均显示出该算法的优良性能,并证明了该识别系统性能的稳定性和极其良好的扩展性,为维吾尔文字符的识别研究提供了一个简单有效的仿真平台.【总页数】4页(P92-94,99)【作者】伊力哈木·亚尔买买提;哈力旦·A【作者单位】新疆大学,电气工程学院,新疆,乌鲁木齐,830008;新疆大学,电气工程学院,新疆,乌鲁木齐,830008【正文语种】中文【中图分类】TP391.43【相关文献】1.基于MATLAB的GUI车牌图像识别系统设计 [J], 王浩杰;赵珂;黄国勇2.基于MATLAB GUI的车牌自动识别系统设计 [J], 姚楠;耿奇3.维吾尔文字符识别系统的设计研究 [J], 阿迪力江·穆合塔尔;伊力哈木·亚尔买买提;安外尔·喀斯木4.基于matlab GUI的水果识别系统 [J], 杨霈5.基于MATLAB/GUI的指纹识别系统设计 [J], 刘艳华因版权原因,仅展示原文概要,查看原文内容请购买。

字符识别matlab

字符识别matlab

字符识别matlab字符识别是一种将图像中的字符转化为计算机可识别的文本的技术。

在很多场景中,我们需要从图像中提取出文字信息,以方便后续的文字处理和分析。

在本文中,我们将介绍如何使用MATLAB进行字符识别,并讨论其中的一些关键技术和方法。

我们需要明确字符识别的基本流程。

通常情况下,字符识别的过程包括图像预处理、字符分割、特征提取和分类识别等步骤。

在图像预处理阶段,我们需要对输入的图像进行去噪、灰度化、二值化等处理,以便于后续的字符分割和特征提取。

字符分割是将输入图像中的字符区域切割出来的过程,通常使用基于连通区域分析的方法。

特征提取是从每个字符区域中提取出具有代表性的特征,常用的方法包括垂直和水平投影、轮廓分析等。

最后,我们使用分类器对提取到的特征进行分类识别,常用的分类器包括支持向量机、k近邻算法等。

在MATLAB中,我们可以使用Image Processing Toolbox和Machine Learning Toolbox来实现字符识别。

Image Processing Toolbox提供了丰富的图像处理函数,如imread、rgb2gray、imnoise等,可以方便地进行图像预处理。

Machine Learning Toolbox则提供了各种分类算法的实现,如SVM、k近邻等,可以用于字符的分类识别。

接下来,我们将详细介绍字符识别的各个步骤和相关技术。

首先是图像预处理。

图像预处理的目标是减少图像中的噪声和干扰,使字符区域更加清晰和突出。

常用的预处理方法包括中值滤波、均值滤波和高斯滤波等。

这些滤波器可以平滑图像,减少图像中的噪声。

接下来是字符分割。

字符分割的目标是将图像中的字符区域切割出来,以便于后续的特征提取和分类识别。

常用的字符分割方法包括基于连通区域分析的方法和基于投影的方法。

在基于连通区域分析的方法中,我们可以使用连通区域标记函数bwlabel来将图像中的字符区域进行标记,然后根据标记的结果进行字符的分割。

基于Matlab的神经网络数字识别系统实现

基于Matlab的神经网络数字识别系统实现

写体 数 字 字符 有 所 限制 , 即 需要 有 一 定 的 工 整 度 。 通 过 对 真 实 图 片 的 处 理 , 本 系统 可对 印 刷 体 数 字 达 到 近 百 分之 百 的 识
别率 ,对较工 整的手 写体 数字 能到达近 百分之八 十 的识别 率。 关键 词:M t b al 编程 ;数字识别 ; 图像预处理 ;特征提取 a


要:通过 M t b al 编程 能形 成一种 可 以识 别扫描 到 计算机 里的 图片上 的数字 的神经 网络 数字识 别 系统 ,此 系统 能达 到 a 定的识别精度 ,其 有别于一般 的数字识 别 系统 将印刷体和 手写体 字符分开 考虑 ,而是 将 两者 结合 在一起 考虑 ,并对手
D : 1 .9 9 Ji n1 71 5 62 1 .9 0 OI 3 6 / .s.6 —6 9 .0 1 . 1 0 s 0 1
l 系统实现思想 字符识别系 统一般分为预处理 、特征提取和 分类 器三
部 分 。 其 中 , 预 处 理 包 括 将 图 片 从 模 拟 图像 到 进 行 二 值 化 、 字 符 分 割 、 归一 化 等 过 程 ; 特 征 提 取 和 分 类 器 的 设 计 是 整 个 系 统 的核 心 部 分 。 通 过 对 各 个 部 分 分 别 进 行 编 程 处 理 来 实 现 ,将 每 部 分 编 为 可 调 用 的 函数 ,最 后 统 一 对 函 数 进 行 调 用 , 清 晰 方 便 。下 面 分 别 对 每 部 分 模 块 实现 进 行 介

9 c t* O ) : :n 2 l) )
l t ( c t 1 * + n 2 = u ( t m ) e t (n - ) 5 c t ) s m A e p ;

模式识别实验

模式识别实验

模式识别实验
一、实验任务
本次实验任务是模式识别,主要包括形式化的目标追踪、字符流分类和语音识别等。

二、所需软件
本实验所需软件包括MATLAB、Python等。

三、实验步骤
1. 首先需要安装MATLAB 和Python等软件,并建立实验环境。

2. 然后,通过MATLAB 进行基于向量量化(VQ) 的目标追踪实验,搭建端到端的系统,并使用Matlab编程实现实验内容。

3. 接着,使用Python进行字符流分类的实验,主要包括特征提取、建模和识别等,并使用Python编程实现实验内容。

4. 最后,使用MATLAB 进行语音识别的实验,主要是使用向量量化方法识别语音,并使用Matlab编程实现实验内容。

四、结果分析
1.在基于向量量化的目标追踪实验中,我们通过计算误差,确定了最优参数,最终获得了较高的准确率。

2.在字符流分类实验中,我们通过选择最佳分类器,得到了较高的准确率。

3.在语音识别实验中,我们使用向量量化方法,最终也获得了不错的准确率。

五、总结
本次实验研究了基于向量量化的目标追踪、字符流分类和语音识别等三项模式识别技术,经实验,探讨了不同方法之间的优劣,并获得了较高的准确率。

本次实验的结果为日常模式识别工作提供了有价值的参考。

基于MATLAB手写体数字识别程序设计

基于MATLAB手写体数字识别程序设计

• 139•基于MATLAB手写体数字识别程序设计广东工业大学自动化学院 刘思慧 江 维手写体识别由于其实用性,一直处于研究进步的阶段,本文主要针对的是对0-9十个手写数字体脱机识别,在Matlab中对样本部分为进行16特征的提取,分别采用最小距离法,最近邻法,KNN法以及BP神经网络算法进行0-9十个数字进行识别,得到每类的分类结果以及各种方法的识别准确率,比较各种方法的优缺点,最后分析比较结果,得出分类结论。

1.引言本文先是以统计学的方法进行数字识别。

识别的数字是从0到9并利用图象处理软件把这些数字处理成相同大小32*32的二值图。

将图像转换为文本格式存储,文档中只包含0和1,共计1934个样本,每类样本数目大致200个,测试样本共计946个。

读取txt文档后,从生成的矩阵中提取16个特征,然后先用统计学的理论,用最小距离法,最近邻法和KNN法,在Matlab中编写相关程序,得出相关的分类结果和错误率。

然后再使用BP神经网络,确定输入,输出节点数和隐藏层节点数,对0-9的样本特征进行训练,得到训练后的网络进行样本测试。

将基于BP神经网络的识别结果和错误率和基于统计学的方法的结果进行比较,最终得出分类的结论。

2.数字识别本文是对手写数字识别,即对0-9十个数字进行识别,我们将存储0-9十个数字的图片利用图像处理软件处理成大小相同的(32*32)的二值图,然后将图像转化成文本格式。

总共有1934个训练样本,946个测试样本。

对每个样本提取特征,这儿我们选用提取了16个特征,然后应用最小距离法,KNN在K=1,K=3,K=5时,以及神经网络,在Matlab环境下,编程分别对训练样本进行训练,测试样本进行测试识别,得到分类结果和错误率,然后对每种结果进行对比,分析错误率和分类结果,比较几种方法的优点和缺点,最终得出结论。

2.1 字符特征选择与提取特征提取是为了去除信息中对分类没有帮助的部分,将信息集中到有代表性的几个特征上来的过程。

基于matlab的文字识别算法课程设计之欧阳术创编

基于matlab的文字识别算法课程设计之欧阳术创编

摘要本课程设计主要运用MATLAB的仿真平台设计进行文字识别算法的设计与仿真。

也就是用于实现文字识别算法的过程。

从图像中提取文字属于信息智能化处理的前沿课题,是当前人工智能与模式识别领域中的研究热点。

由于文字具有高级语义特征,对图片内容的理解、索引、检索具有重要作用,因此,研究图片文字提取具有重要的实际意义。

又由于静态图像文字提取是动态图像文字提取的基础,故着重介绍了静态图像文字提取技术。

随着计算机科学的飞速发展,以图像为主的多媒体信息迅速成为重要的信息传递媒介,在图像中,文字信息(如新闻标题等字幕)包含了丰富的高层语义信息,提取出这些文字,对于图像高层语义的理解、索引和检索非常有帮助。

关键字:文字识别算法;静态图像文字提取;检索目录1 课程设计目的32 课程设计要求43 相关知识54 课程设计分析85 系统实现96 系统测试与分析176.1文字识别算法仿真结果176.2基于字符及单词的识别196.2.1 基于字符的识别196.2.2 基于单词的识别206.3现存算法的问题216.3.1 大多文字识别方法依赖于人工定义的特征216.3.2 脱离上下文的字符识别易造成显著的歧义216.3.3 简单的单词整体识别有着较大的局限性226.3.4 训练样本制作繁琐227 参考文献231 课程设计目的图像文字提取又分为动态图像文字提取和静态图像文字提取两种,其中,静态图像文字提取是动态图像文字提取的基础,其应用范围更为广泛,对它的研究具有基础性,所以本文主要讨论静态图像的文字提取技术。

静态图像中的文字可分成两大类:一种是图像中场景本身包含的文字,称为场景文字;另一种是图像后期制作中加入的文字,称为人工文字,如右图所示。

场景文字由于其出现的位置、小、颜色和形态的随机性,一般难于检测和提取;而人工文字则字体较规范、大小有一定的限度且易辨认,颜色为单色,相对与前者更易被检测和提取,又因其对图像内容起到说明总结的作用,故适合用来做图像的索引和检索关键字。

基于MATLAB的SVM支持向量机手写识别算法

基于MATLAB的SVM支持向量机手写识别算法

信息通信INFORMATION & COMMUNICATIONS2020年第1期(总第205期)2020(Sum. No 205)基于MATLAB 的SVM 支持向量机手写识别算法唐蔗(佳木斯大学信息电子技术学院,黑龙江佳木斯154007)摘要:近年来伴随着大数据的积累以及计算能力的不断提升,SVM 支持向量机作为机器学习领域的典型代表逐渐被应用于手写数字识别。

不同于传统手写识别算法,SVM 支持向量机可以利用深层次结构学习更加丰富的特征表达,能有效解决手写数字识别问题。

基于此,本课题将对SVM 支持向量机手写识别算法展开研究,并借助MATLAB 完成了 SVM 支持向量机手写识别模型训练,验证了算法的合理性及性能优化。

关键词:SVM ;MATLAB ;手写识别;PCA 中图分类号:TP391文献标识码:A文章编号:1673-1131(2020)01-0154-021概述随着图像手写识别技术不断发展,手写识别逐渐被社会认可,在公共安全、国防安全、入口控制、身份验证、智能视频监控、视频会议、智能解锁等在生产生活各个领域应用越来越深入和 广泛,并且拥有巨大的应用前景。

机器学习技术是图像识别领域应用非常广泛的技术之一,关于机器学习的研究成果已经很 多,同时机器学习各个领域的应用也越来越多,而基于SVM 的 手写识别技术就是其中一个非常重要的主流识别技术,其在算 法研究和实际应用中等很多方面己经取得了不错的成就。

但随着人们对手写识别系统要求的不断提高,研究设计快速准确的手写识别仍然具有较强的应用价值和现实意义。

2基于SVM 支持向量机的手写识别算法支持向量机是建立在统计学理论基础上的,它是机器学 习方法的一种,也可以认为其是分类算法模型之一。

支持向量机主要的目的就是为了将分类的超平面明确下来。

因为只 有部分很少的样本信息决定了分类超平面的使用,因此,上述这部分样本就被叫作是支持向量。

2.1支持向量机的基本原理在一定的训练样本集里面,通过利用特征空间来明确分离超平面,在这个超平面的帮助下,将训练样本集分为各种类。

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

基于MATLAB的字符识别研究汽车牌照识别程序的设计摘要:本次课程设计的目的是通过对基于MATLAB的字符识别的研究,以汽车牌照识别的设计为实例,详细介绍字符识别的相关原理。

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

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

寻找出对于具体的汽车牌照识别过程的最好的方法。

关键词:MATLAB 字符识别车牌识别神经网络图像处理引言在MATLAB的字符识别研究中,汽车牌照的识别是最经典的样例,因为车辆牌照识别系统(License Plate Recognition System,简称LPRS)是建设智能交通系统不可或缺的部分。

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

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

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

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

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

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

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

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

二、基于 MATLAB图像处理的汽车牌照识别系统1.系统组成基于MATLAB图像处理的汽车牌照识别系统主要包括车牌定位字符车牌分割和车牌字符识别三个关键环节其识别流程图如图 1所示。

图1 识别流程图其中,(1)原始图像:由数码相机或其它扫描装置拍摄到的图像;(2)图像预处理:对动态采集到的图像进行滤波、边界增强等处理以克服图像干扰;(3)车牌定位:计算边缘图像的投影面积,寻找峰谷点,大致确定车牌位置,再计算此连通域内的宽高比,剔除不在域值范围内的连通域,最后得到的便为车牌区域;(4)字符分割:利用投影检测的字符定位分割方法得到单个的字符;(5)字符数据库:为第6步的字符识别建立字符模板数据库;(6)字符识别:通过基于模板匹配的OCR算法或基于人工神经网络的OCR算法,通过特征对比或训练识别出相关的字符,得到最后的汽车牌照,包括英文字母和数字。

2.图像预处理图像在形成传输或变换过程中,受多种因素的影响,如:光学系统失真、系统噪声、曝光不足或过量、相对运动等,往往会与原始景物之间或图像与原始图像之间产生了某种差异,这种差异称为降质或退化。

因此在图像处理之前必须进行预处理,包括去除噪音、边界增强、增加亮度等等。

输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。

对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。

具体步骤如下:首先对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。

采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。

再进行形态学滤波去除其它区域。

I=imread('CAR/0.jpg'); %读取图片I1=rgb2gray(I); %转化为灰度图像I2=edge(I1,'robert',0.09,'both'); %采用robert算子进行边缘检测se=[1;1;1]; %线型结构元素I3=imerode(I2,se); %腐蚀图像se=strel('rectangle',[25,25]); %矩形结构元素I4=imclose(I3,se); %图像聚类、填充图像I5=bwareaopen(I4,2000); %去除聚团灰度值小于2000的部分通过对比原始图片,我们可以发现形态滤波后的图像已经很接近正确的车牌位置了,因此后期处理将通过这张图来找出车牌位置。

3.车牌定位观察经过预处理后得到的图像发现车牌位置有明显的矩形有明显的矩形图样,通过对矩形区域的定位即可获得具体的车牌位置。

(1)车牌的行起始和终止位置的确定[y,x,]=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;endendendfigure();subplot(1,3,1);plot(0:y-1,Y1),title('行像素灰度值累计'),xlabel('行值'),ylabel('像素和');[temp, MaxY]=max(Y1);PY1=MaxY;while ((Y1(PY1,1)>=80)&&(PY1>1))PY1=PY1-7;endPY2=MaxY;while ((Y1(PY2,1)>=80)&&(PY2<y))PY2=PY2+7;end(2)车牌的列起始位置和终止位置的确定%绘制列曲线图X1=zeros(1,x);for j=1:xfor i=PY1:PY2if(I6(i,j,1)==1)X1(1,j)= X1(1,j)+1;endendendsubplot(1,3,2);plot(0:x-1,X1),title('列像素灰度值累计'),xlabel('列值'),ylabel('像数和');PX1=1;while ((X1(1,PX1)<3)&&(PX1<x))PX1=PX1+7;endPX2=x;while ((X1(1,PX2)<3)&&(PX2>PX1))PX2=PX2-7;end(3)最后拼合获取的车牌在图像的行列位置DW=I(PY1:PY2,PX1:PX2,:);subplot(1,3,3);imshow(DW),title('车牌定位后图像');4.字符分割在汽车牌照自动识别过程中,字符分割有承前启后的作用。

它在前期牌照定位的基础上进行字符的分割,然后再利用分割的结果进行字符识别。

%% 车牌图像转为灰度if isrgb(I)I1 = rgb2gray(I);elseI1 = I;end%% 二值化车牌图像I1 = im2bw(I1,graythresh(I1));%二值化图像I2 = bwareaopen(I1,16);%去除小于16像素的区块figure();subplot(1,2,1);imshow(I2),title('二值化车牌图像');%% 分割字符按行积累量[y,x]=size(I2);I3=double(I2);X1=zeros(1,x);for j=1:xfor i=1:yif(I3(i,j,1)==1)X1(1,j)= X1(1,j)+1;endendendsubplot(1,2,2);plot(0:x-1,X1),title('车牌列像素点累计'),xlabel('列值'),ylabel('像素和');%% 分割字符Px0=1;Px1=1;figure();for i=1:7while ((X1(1,Px0)<3)&&(Px0<x))Px0=Px0+1;endPx1=Px0;while (((X1(1,Px1)>=3)&&(Px1<x))||((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;endsubplot(1,7,i);imshow(Z);Px0=Px1;end分割成七块后的车牌图像5.建立字符模板数据库模板库的合理建造是字符识别准确的关键之一,所以在字符识别之前必须把模板库设置好。

汽车牌照的字符一般有 7 个,大部分车牌第一位是汉字,通常代表车辆所属省份,或是军种警别等有特定含义的字符简称;紧接其后的为字母与数字。

车牌字符识别与一般文字识别在于它的字符数有限,十个阿拉伯数字0~9, 26 个大写英文字母 A~Z 以及相关的车牌用汉字:京、沪、苏、台、港、澳、甲、乙、丙、使、领、学、试、境、消、边、警等,以及新式军牌中的汉字南、兰、广、北、沈、济、空、海等;车牌颜色:蓝、白、黑、黄等。

所以建立字符模板库也极为方便。

通过前面实验获取的几幅不同的车牌图片截取到的图片加上使用PhotoShop制作的部分图片如下:建立模板数据库时必须对这些图片进行统一处理,因为对前面处理分割后的车牌图像的测量得知单个字符的最佳宽高比是1:2,所以将这些图片归一化为50×25大小;因为之后的字符识别考虑使用神经网络算法进行字符识别,所以再将上面归一化后的模板图像的样本排列在一起构成1250×18的矩阵样本,程序设计如下:function inpt = Pretreatment(I)%% 训练样本前期处理if isrgb(I)I1 = rgb2gray(I);elseI1=I;endI1=imresize(I1,[50 25]);%将图片统一划为50*25大小I1=im2bw(I1,0.9);[m,n]=size(I1);inpt=zeros(1,m*n);%% 将图像按列转换成一个行向量for j=1:nfor i=1:minpt(1,m*(j-1)+i)=I1(i,j);endend这是一个自定义函数的Pretreatment.m 文件,可以解决频繁写重复代码的问题,前面的图像预处理及车牌定位的代码可以写进Location.m文件中,通过代码DW = Location(I); 取得车牌定位后的图像;同时字符分割的代码亦可写进StringSplit.m 文件中,可以通过代码[PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6]=StringSplit(DW); 取得的字符分割后的图像。

相关文档
最新文档