自由手写体数字识别系统的设计与实现

合集下载

手写体数字识别研究及系统实现

手写体数字识别研究及系统实现

手写体数字识别研究及系统实现随着人工智能的快速发展,机器学习和深度学习等技术正在飞速发展。

手写体数字识别作为人工智能的一个重要应用领域,正在得到越来越广泛的关注。

手写体数字识别技术的核心是构建一个准确、高效的数字识别算法。

本文将从手写体数字识别的必要性、技术原理、算法实现和应用场景四个方面,探讨手写体数字识别研究及系统实现。

一、手写体数字识别的必要性手写体数字识别的最初应用是在邮政系统中。

随着互联网的普及和电子商务的兴起,手写体数字识别逐渐成为数字图像处理领域的一个重要技术。

手写体数字识别的应用领域非常广泛,例如智能化识别信用卡、护照、身份证、驾驶证、学生证等证件上的手写数字信息,以及检测、追踪和分类许多与手写数字密切相关的信息。

手写体数字识别的技术研究和发展能有效促进数字信息技术的发展,提高数字信息技术在各行各业中的应用。

二、手写体数字识别的技术原理手写体数字识别技术原理主要是数字图像处理技术。

数字图像处理技术是一门研究数字图像的获取、处理、传输和显示的学科,主要包括图像获取、预处理、特征提取与选择、分类与识别等四个方面。

图像获取是数字图像处理技术的第一步,通过将纸质文档或图像数字化,即根据摄影原理或扫描原理将成像的二维图像转换成数字信号。

预处理是指对图像进行增强、滤波、降噪等操作,以使原始图像能够更好地适应后续处理需求。

特征提取与选择是指从图像中提取有助于识别和分类的特征,以还原图像中的数字信息。

分类与识别是指学习和选择分类器,正确分类和识别数字图像。

三、手写体数字识别的算法实现手写体数字识别的算法实现可以分为三个阶段:前端特征提取、分类器设计和后处理。

前端特征提取是将手写数字转换成具有辨别性的数学向量的过程,即将手写数字的图像进行预处理和特征提取,产生用于后续处理的特征向量。

常用的特征提取方法包括灰度直方图、傅里叶描述符、Zernike描述符、矩形描述符等。

分类器设计是定义分类器的类型和参数并进行训练的过程。

手写数字识别系统的设计与实现

手写数字识别系统的设计与实现

手写数字识别系统的设计与实现摘要本手写数字识别系统是一个以VISUAL STUDIO C++ 6.0为编译环境,使用MFC进行图形图像界面开发的系统。

主要功能是通过在点击手写数字识别菜单下的绘制数字标签弹出的绘制数字窗口中完成数字的手写,在此窗口中可以进行数字的保存及清屏,然后通过文件菜单中的打开标签打开所绘制的数字,从而进行数字的预处理,其中包括灰度化及二值化处理,然后进行特征提取,最后实现数字的识别。

本系统的界面设计友好,流程正确,功能也较为完善。

实验结果表明,本系统具有较高的识别率。

关键词:绘制数字;预处理;特征提取;特征库;数字识别目录前言 (4)概述 (5)1 需求分析 (6)1.1 功能需求分析 (7)1.2 性能需求分析 (7)1.3 数据需求分析 (8)1.4 相关软件介绍 (8)2 手写数字识别系统的设计与基本原理 (8)2.1 系统整体功能模块设计 (8)2.2 手写数字识别系统的基本原理 (9)2.2.1 数字图像的绘制 (9)2.2.2 图像的预处理 (9)2.2.3 图像的特征提取 (10)2.2.4 特征库的建立 (10)2.2.5 图像数字的识别 (11)3 手写数字识别系统程序设计 (11)3.1 数字图像的绘制 (11)3.2数字的特征提取 (17)3.3 模板特征库的建立 (20)3.4 数字的识别 (22)总结 (25)致谢..................................... 错误!未定义书签。

参考文献 (25)前言自上世纪六十年代以来,计算机视觉与图像处理越来越受到人们的关注,并逐渐成为一门重要的学科领域。

而作为它们的研究对象的数字图像,也因为它含有研究目标的丰富信息而成为越来越重要的研究对象。

图像识别的目标是用计算机自动完成某些信息的处理,用来替代人工去处理图像分类及识别的任务。

手写数字识别是图像识别学科下的一个分支,是图像处理和模式识别领域研究的课题之一,由于其具有很强的实用性一直是多年来的研究热点。

手写数字识别的实现

手写数字识别的实现

燕山大学课程设计说明书题目:手写数字识别的实现学院(系):电气工程学院年级专业: 08-自动化仪表学号: 080103020179学生姓名:付成超指导教师:林洪彬程淑红教师职称:讲师讲师2010年 12 月 24 日燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:自动化仪表系学号080103020179 学生姓名付成超专业(班级)自动化仪表设计题目手写数字识别实现设计技术参数通过由数字构成的图像,自动实现几个不同数字的识别,设计识别方法,有较高的识别率设计要求设计图像中不同数字的识别方法,可以先从两个数字的识别开始,尽量实现多个不同数字的识别。

设计中应该有自己的思想、设计体会工作量1.分析图像特征,查阅相关资料,根据图像的特征提出解决问题的思路。

2.查阅相关资料,学会MATLAB的编程方法3.根据解决思路,编辑程序,根据调试结果,修改相应思路,找出最佳解决方案工作计划周一分析图像,查阅各种资料,提出可行的解决方案。

周二熟悉MATLAB软件,学会软件的简单编程方法。

周三根据可行的方法,编写程序,调试并修改方案。

周四根据调试结果,选取最佳方案并完成设计论文。

周五进一步完善设计论文,准备论文答辩。

参考资料[] MICHAEL SIPSER著,张立昂等译,《计算理论导引》,机械工业出版社,2000。

[2] 王晓龙,关毅等编,《计算机自然语言处理》,清华大学出版社,2005。

[3] R.C.Gonzales等著,阮秋崎等译,《数字图像处理》,电子工业出版社,2002。

[4] 王文杰等编,《人工智能原理》,人民邮电出版社,2003。

指导教师签字基层教学单位主任签字2010年 12 月 24 日燕山大学课程设计评审意见表指导教师评语:工作态度认真较认真不认真理论分析正确完善较为合理一般较差方法设计完善合理一般较差成绩:指导教师:年月日答辩小组评语:原理清晰基本掌握了解不清楚设计结论正确基本正确不正确成绩:评阅人:年月日课程设计总成绩:答辩小组成员签字:赵彦涛、吴飞、林洪斌、程淑红2010年12 月24 日数字图像中手写数字识别的实现摘要:数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。

手写字体识别算法及实现

手写字体识别算法及实现

手写字体识别算法及实现在日常生活中,手写字体识别算法是一个非常实用的技术。

无论是在自动化填写表格、邮寄信件、更改合同等方面,都经常需要使用手写字体识别技术。

因此,手写字体识别技术的发展变得越来越受到人们的关注。

本文将介绍手写字体识别算法及其实现的相关内容。

一、什么是手写字体识别算法?手写字体识别算法是一种模式识别算法,利用计算机通过对字体形态的识别来识别手写字体。

在手写字体识别算法中,有两个主要步骤:训练和测试。

在训练阶段,算法会学习样本数据中的特征和规律,得出一些针对特定手写字体的规则。

在测试阶段,算法将识别新的未知样本,比较它们与训练阶段学习到的规则,从而确定它们的类别。

手写字体识别算法可以分为多个不同的类别,例如隐马尔可夫模型、支持向量机、神经网络等。

每个算法都有其独特的优点和适用场景。

二、手写字体识别算法的实现手写字体识别算法的实现主要包括数据处理、特征提取和分类器构建三个阶段。

1. 数据处理数据处理阶段需要对手写字体数据进行预处理,以使其易于识别。

预处理的方法包括平滑、二值化和重定位等。

平滑可以减少图像中的噪声,二值化可以将图像范围转换为黑白两种颜色,重定位可以将图像位置调整为标准位置。

2. 特征提取特征提取阶段需要选取代表性的特征来表示手写字体。

常用的特征包括像素数量、等高线、垂线数、跳变次数等。

其中,等高线特征是一种更加高效和精确的特征提取方法。

3. 分类器构建分类器构建是将手写字体识别算法应用到实际场景中的关键步骤。

常用的分类器包括支持向量机、神经网络和隐马尔可夫模型等。

其中,支持向量机是一种非常常用的分类器,具有学习效率高、分类准确率高等优点。

三、手写字体识别算法的应用手写字体识别算法可以广泛应用于各种场景,例如邮寄地址识别、手写数字识别、汉字字形识别等。

除此之外,手写字体识别算法还可以用于其他应用,例如自动化签名识别、医学记录识别等。

在日常生活中,手写字体识别算法的应用越来越广泛,可以帮助人们更加高效地完成工作。

手写体汉字识别系统的设计与实现

手写体汉字识别系统的设计与实现

手写体汉字识别系统的设计与实现1. 系统简介手写体汉字识别系统是一种将手写汉字图像识别为文字的技术,可以广泛应用于自然语言处理、OCR识别、智能手写输入、数字化文档等领域。

本系统采用卷积神经网络(CNN)进行手写汉字的分类识别。

2. 数据预处理为了提高识别率,需要对手写汉字图片进行预处理。

常见的预处理方法包括二值化、去噪、裁剪、拉伸等,以消除干扰噪声,使图像更具有对比度。

在本系统中,采用了以下预处理过程:2.1 二值化将彩色或灰度图像转换为黑白二值图像,目的是为了方便后续图像处理和分类。

本系统采用自适应阈值二值化算法,可根据图像局部分布自适应地确定二值化阈值,能有效改善不同光照条件下的图像质量。

2.2 去噪噪声是影响图像质量和分类结果的主要因素之一。

本系统采用中值滤波算法,能够有效地去除高斯噪声,保留汉字图像的边缘信息和特征。

2.3 裁剪为便于分类器对手写汉字进行识别,需要将图像按照边缘进行裁剪,去除多余背景信息。

本系统采用轮廓检测算法进行边缘提取和裁剪,以确保分类精度和速度。

2.4 拉伸为解决汉字字符样式和尺寸不一致的问题,需要将图像进行拉伸,使每个字符的尺寸和比例保持一致。

本系统采用等比例缩放算法,能够有效保留汉字特征和风格。

3. 特征提取特征提取是识别系统的核心步骤之一,目的是将原始汉字图像转换成一组可以用于分类的特征向量。

本系统采用卷积神经网络(CNN)对手写汉字进行特征提取和分类,其特点是可以从原始数据中进行自动学习,减少特征处理的复杂度。

4. 分类识别分类识别是系统的最后一步,目的是将手写汉字图像判定为特定的汉字字符,同时提供显著性分值和置信度。

本系统采用softmax分类器和交叉熵损失函数对手写汉字进行分类和识别,能够有效地提高识别精度和鲁棒性。

5. 总结手写体汉字识别系统是一项关键技术,具有广泛应用前景。

本系统采用卷积神经网络进行特征提取和分类识别,通过数据预处理、特征提取、分类识别等步骤,能够实现高效准确的手写汉字识别。

手写体数字识别实验报告

手写体数字识别实验报告

软件学院12-13-2学期《人工智能》课程项目报告题目:使用SMO方法进行手写体数字识别目录软件学院12-13-2学期《人工智能》课程项目报告 (1)1 问题描述 (2)2 二值化处理 (2)2.1 思想: (2)2.2 OSTU算法: (2)2.3 OTSU算法伪代码: (2)3 降维处理 (2)4.半监督算法 (4)4.1半监督算法流程: (4)4.2半监督算法的主要算法: (4)1)self-Training models: (4)2)Propagating-1-nearest-neighbor: (4)3)CLUSTER-THEN-LABELMETHODS (4)4)Co_Training: (4)5)基于图的算法(Graph based Learning): (5)4.4半监督学习分类算法的现实价值: (5)5 我使用SVM的SMO算法 (5)5.1 SMO算法基本思想: (5)5.2 应用SMO算法的流程: (5)6 性能分析 (6)6.1.监督学习 (6)6.2.半监督学习(Tri-training) (6)6.3 我们用J48,SMO, NaiveBayes以及BayesNet四种算法对降维后的算法进行训练并求出其准确性,得到如下数据 (7)7 思考总结 (7)1 问题描述手写体数字识别问题,简而言之就是识别出10个阿拉伯数字,由于数字的清晰程度或者是个人的写字习惯抑或是其他,往往手写体数字的形状,大小,深浅,位置会不大一样。

现在我们拥有3006个带标记的数据以及56994的未带标记的数据,而我们的目标就是正确识别出这些手写体数字。

因此我们可以把这些带标记的数据看作经验值,运用一定算法来学习,预测出这些未带标记的数据。

对问题的分析如下:1 考虑到每个值都是0-255之间的一个整型值,对于算法的分析操作会影响性能,我将每个值进行了二值化,变成0,1。

2 考虑到这些数据都是28×28=784维的,维数太大,在后续的学习过程中效率会很低,我对它进行了降维处理。

(完整版)基于神经网络的手写数字识别系统的设计与实现毕业论文

(完整版)基于神经网络的手写数字识别系统的设计与实现毕业论文

中南大学本科生毕业论文(设计)题目基于神经网络的手写数字识别系统的设计与实现目录摘要 (Ⅰ)ABSTRACT (Ⅱ)第一章绪论 (1)1.1手写体数字识别研究的发展及研究现状 (1)1.2神经网络在手写体数字识别中的应用 (3)1.3 论文结构简介 (4)第二章手写体数字识别 (5)2.1手写体数字识别的一般方法及难点 (5)2.2 图像预处理概述 (6)2.3 图像预处理的处理步骤 (6)2.3.1 图像的平滑去噪 (6)2.3.2 二值话处理 (7)2.3.3 归一化 (8)2.3.4 细化 (10)2.4 小结 (11)第三章特征提取 (12)3.1 特征提取的概述 (12)3.2 统计特征 (12)3.3 结构特征 (13)3.3.1 结构特征提取 (14)3.3.2 笔划特征的提取 (14)3.3.3 数字的特征向量说明 (15)3.3 知识库的建立 (15)第四章神经网络在数字识别中的应用 (17)4.1 神经网络简介及其工作原理 (17)4.1.1神经网络概述[14] (17)4.1.2神经网络的工作原理 (17)4.2神经网络的学习与训练[15] (18)4.3 BP神经网络 (20)4.3.1 BP算法 (20)4.3.2 BP网络的一般学习算法 (21)4.3.3 BP网络的设计 (22)4.4 BP学习算法的局限性与对策 (26)4.5 对BP算法的改进 (27)第五章系统的实现与结果分析 (29)5.1 软件开发平台 (29)5.1.1 MATLAB简介 (29)5.1.2 MATLAB的特点 (29)5.1.3 使用MATLAB的优势 (30)5.2 系统设计思路 (30)5.3 系统流程图 (31)5.4 MATLAB程序设计 (31)5.5 实验数据及结果分析 (32)结论 (27)参考文献 (28)致谢 (30)附录 (31)摘要手写体数字识别是模式识别中一个非常重要和活跃的研究领域,数字识别也不是一项孤立的技术,它所涉及的问题是模式识别的其他领域都无法回避的;应用上,作为一种信息处理手段,字符识别有广阔的应用背景和巨大的市场需求。

(完整版)手写体数字识别系统设计毕业设计

(完整版)手写体数字识别系统设计毕业设计

石河子大学信息科学与技术学院毕业论文课题名称:手写体数字识别系统设计学生姓名:学号:学院:信息科学与技术学院专业年级:电子信息工程2007级指导教师:职称:完成日期:二○一一年六月十一日手写体数字识别系统设计学生:指导教师:[摘要] 随着科学技术的迅速发展,在邮政编码、统计报表、财务报表、银行票据等处理大量字符信息录入的场合,手写数字识别系统的应用需求越来越强烈,如何将数字方便、快速地输入到计算机中已成为关系到计算机技术普及的关键问题。

本文设计实现了一个基于Matlab软件的手写体数字识别系统,采用模块化设计方法,编写了摄像头输入、直接读取图片、写字板输入三个模块,利用摄像头等工具,将以文本形式存在的手写体数字输入进计算机,完成对手写体数字图片的采集,并设计了一种手写数字识别方法,对手写体数字图像进行预处理、结构特征提取、分类识别,最终以文本形式输出数字,从而实现手写体数字的识别。

[关键词] 预处理,结构特征提取,分类识别,手写体数字识别Handwritten Digit Recognition SystemStudents:Teacher:Abstract:With the rapid development of science and technology, in zip code, statistics, reports, financial statements, Bank bills dealing with a large number of characters, such as information recorded occasions, handwritten digit recognition system of requirement has become stronger and stronger, how easily and quickly the number entered in the computer has become a key issue relates to the popularization of computer technology. This article design implementation has a based on Matlab software of handwriting body digital recognition system, used module of design method, write has camera entered, and directly read pictures, and write Board entered three a module, using camera, tools, will to text form exists of handwriting body digital entered into computer, completed on handwriting body digital pictures of collection, and design has a handwriting digital recognition method, on handwriting body digital image for pretreatment, and structure features extraction, and classification recognition, eventually to text form output digital, to implementation handwriting body digital of recognition.Key words: Pretreatment, structure feature extraction, classification and recognition, handwritten digit recognition.目录第一章引言 (1)1.1课题背景 (1)1.2课题研究目的及意义 (2)1.2.1 手写体数字识别的研究目的 (2)1.2.2 手写体数字识别的研究意义 (3)1.3课题研究现状及发展趋势 (3)1.4课题整体结构 (5)1.5课题难点分析 (5)第二章开发运行环境 (6)2.1系统开发环境和运行环境 (6)2.2开发工具介绍 (6)2.2.1 硬件部分介绍 (6)2.2.2 软件部分介绍 (8)第三章手写体数字识别系统构成及原理 (10)3.1图像处理基础知识 (10)3.2手写体数字识别系统构成 (13)3.3手写体数字识别系统原理 (13)3.3.1预处理 (13)3.3.2图像分割 (17)3.3.3特征提取 (19)3.3.4分类识别 (20)第四章手写体数字识别系统设计分析 (21)4.1程序主界面 (21)4.2基准库的选择与建立 (23)4.3手写体数字识别系统设计 (23)4.3.1摄像头输入模块的设计 (23)4.3.2直接读图模块的设计 (25)4.3.3写字板输入模块的设计 (27)第五章系统性能评价及实验结果分析 (30)5.1识别系统性能的评价 (30)5.2实验结果分析 (31)第六章结论 (33)6.1毕业设计总结 (33)6.2课题前景与展望 (34)致谢 (37)参考文献 (37)附录 (39)附1、识别部分主程序 (39)附2、创建模板部分函数 (40)附3、切割图片部分函数 (42)附4、输出图片部分函数 (43)第一章引言1.1 课题背景数字已有数千年的历史,在世界上使用很广,然而,在当今社会里,如何快速高效地将数字输入计算机,已成为影响人机接口效率的一个重要瓶颈,也关系到计算机能否真正在我国得到普及应用[1]。

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

自由手写体数字识别系统的设计与实现戴建辉信息科学与工程学院,电子信息工程系指导老师:吴谨摘要:本文论述并设计实现了一个脱机自由手写体数字识别系统。

文中首先对待识别数字的预处理进行了介绍,包括二值化、平滑滤波、规范化、细化等图像处理方法;其次,探讨了如何提取数字字符的结构特征和笔划特征,并详细地描述了知识库的构造方法;最后采用了以知识库为基础的模板匹配识别方法,并以MATLAB作为编程工具实现了具有友好的图形用户界面的自由手写体数字识别系统。

实验结果表明,本方法具有较高的识别率,并具有较好的抗噪性能。

关键词:手写体数字;预处理;模式识别;特征提取Abstrct: This paper describes and designs a free handwritten number recognition system. Firstly, the pretreatment of the character to be recognized is introduced, including binarization, smoothing, normalization and thinning. Next, how to extract the structural features of the numbers is discussed, and we describe the constructing method of repository. Finally, we use the method of template matching, based on repository, to recognize the digital number. Matlab is used as a program tool to realize this free handwritten digital recognition system with friendly graphical user interface. The experimental results show that the rate of the recognition system is high, and the proposed method is robust to noise.Keywords: handwritten number; pretreatment;pattern recognition; feature extraction1 引言OCR(Optical Character Recognition)即光学字符识别技术,是通过扫描仪把印刷体或手写体文稿扫描成图像,然后识别成相应的计算机可直接处理的字符。

OCR是模式识别的一个分支,按字体分类主要分为印刷体识别和手写体识别两大类。

对于印刷体识别又可以分成单一字体单一字号和多种字体多种字号几类。

而手写体识别又可分为受限手写体和不受限手写体两类;按识别方式可分为在线识别和脱机识别两类。

字符识别处理的信息可分为两大类:一类是文字信息,处理的主要是用各国家、各民族的文字(如:汉字,英文等)书写或印刷的文本信息,目前在印刷体和联机手写方面技术已趋向成熟,并推出了很多应用系统;另一类是数据信息,主要是由阿拉伯数字及少量特殊符号组成的各种编号和统计数据,如:邮政编码、统计报表、财务报表、银行票据等等,处理这类信息的核心技术是手写数字识别。

因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入应用,将产生巨大的社会和经济效益。

在整个OCR领域中,最为困难的就是脱机自由手写字符的识别。

到目前为止,尽管人们在脱机手写英文、汉字识别的研究中已取得很多可喜成就,但距离实用还有一定距离。

而在手写数字识别这个方向上,经过多年研究,研究工作者已经开始把它向各种实际应用推广,为手写数据的高速自动输入提供了一种解决方案。

本文首先介绍了自由手写体数字识别的基本原理,包括数字图像预处理、特征提取和模式识别的基本原理和方法;其次介绍了;最后通过基于MATLAB的实验结果,对本系统的性能进行了分析。

2 手写体数字识别的基本原理本系统主要由手写体数字识别的训练过程和识别过程组成,训练过程和识别过程均包括预处理、特征提取和模式识别三部分。

系统构成如图2.1所示。

图2.1 系统流程图下面分别介绍各部分工作的基本原理。

2.1 预处理预处理主要由二值化,平滑去噪,规范化,细化等组成。

本文采用了基于阈值的二值化算法,通过最大类间方差法即OTSU方法,统计图像的灰度直方图选取全局阈值,然后进行二值化处理。

其次,在二值化后利用均值滤波的方法消除孤立点、线的噪声,这样图中就只剩下手写体数字。

在滤波中本文采用的是3*3大小的模板。

识别过程训练过程数据采集,预处理特征提取与选择分类识别数据采集,预处理分类识别改进数据采集,预处理改进分类识别待识对象训练样本人工干预特征提取与选择改进特征提取与选择正确率测试平滑去噪后,对图像进行规范化处理。

找出图像中数字的边界,然后提取出数字把它居中放置在正方形方框中,再对此正方形图像进行线性插值缩放,使它变为统一规格大小的图像,本文中归一化图像的大小是36*36。

在提取特征之前,要对手写体数字进行细化。

本文是采用的基于数学形态学的细化算法。

细化可用两步腐蚀来实现:第一步是正常的腐蚀,但它是有条件的,也就是说,那些被标为可除去的像素点并不立即消去;在第二步中,只将那些消除后并不破坏连通性的点消除,否则保留。

以上每一步都是一个3*3邻域运算。

细化是将一个曲线性数字细化为一条单像素宽的线,从而图形化地显示出其拓扑性质。

数字图像预处理前后效果比较如下图所示。

图2.2为数字“5”的原始图像,图2.3为对图2.2预处理后的结果图。

类似地,图2.4为数字“6”的原始图像,图2.5为对图2.4预处理后的结果图。

图2.2 原始图像图2.3 预处理后图像图2.4 原始图像图2.5 预处理后图像2.2 特征提取特征提取的目的是从原始数据中抽取出用于区分不同类型的本质特征。

无论是识别过程还是学习过程,都要对研究对象固有的、本质的重要特征或属性进行量测并将结果数值化,形成特征矢量。

通常能描述对象的元素很多,为了节约资源,节省计算机存储空间、处理时间、特征提取的费用,有时更是为了可行性,在保证满足分类识别正确率要求的条件下,按某种准则尽量选用对正确分类识别作用较大的特征,使得用较少的特征就能完成分类识别任务。

这项工作表现为减少特征矢量的维数或符号字符数。

在本系统中采用对待识别数字图像进行行列扫描与数字起点结合的方法提取特征。

2.2.1 结构特征的提取首先对经预处理后的图像进行分割,如图2.6所示。

图2.6 图像分割对图像分割后,结构特征提取的算法如下:(1)对细化后的数字图像取竖直的三条直线,分别取在5/12,1/2,7/12处,记下这三条竖直直线与数字笔段的交点数。

(2)再取水平三条直线,分别取在1/3,1/2,2/3处, 分别记下这三条水平直线与数字笔段的交点数。

(3)再取对角两条直线, 分别记下这两条对角直线与数字笔段的交点数。

2.2.2 笔划特征的提取经细化后的数字图像其特征较为稳定,且笔划简单,因此对其抽取的基本结构组件能反映数字的本质特征,从而可快速有效地识别数字符,并达到较好的分类效果。

数字端点如图2.7所示。

提取笔划特征的算法如下:(1)按从上到下,从左到右的顺序扫描预处理后图像并选择黑像素点P;(2)计算像素P的8-邻域之和N;(3)若N=1,则像素P为端点,端点计数器加一;(4)重复步骤(1)-(3),直到遍历整个图像。

图2.7 数字端点2.2.3 数字的特征向量说明依据上述特征提取方法,本系统中的特征矢量由9个分量组成,其排列如下所示:DATA=[ 竖直中线交点数,竖直5/12处,竖直7/12处,水平中线交点数,水平1/3处交点数,水平2/3处交点数,左对角线交点数,右对角线交点数,端点数 ];2.3 知识库的建立由于本文采用的是基于模式知识库的识别方法,所以对字符的结构特征的分析以及字符模型的构造是一个十分重要的环节,图2.8就是对识别数字的标准形态进行具体分析而构造的模板。

图2.8 规范手写体数字形态DATA01=[2,2,2,2,2,2,2,2,0];DATA11=[1,0,0,1,1,1,1,1,2];DATA21=[3,3,3,1,1,1,1,1,3];DATA31=[3,2,3,1,1,1,2,2,3];DATA41=[1,1,1,2,2,1,3,2,4];DATA51=[3,3,3,1,1,1,2,2,4];DATA61=[3,3,2,1,1,2,3,2,1];DATA71=[2,2,2,1,1,1,1,1,2];DATA81=[4,4,4,2,2,2,2,2,0];DATA91=[3,3,3,1,2,1,3,1,1]。

由于本系统是对自由手写体进行识别, 因而要考虑数字书写体的多变性。

通过对图2.9所示数字变体的分析来对知识库进行补充。

图2.9 手写体数字变体DATA02=[1,1,2,2,2,2,1,2,2];DATA22=[3,2,2,1,1,1,1,3,2];DATA32=[3,1,4,2,1,1,2,2,3];DATA42=[1,2,2,3,3,1,2,2,2];DATA52=[3,3,3,1,1,1,2,2,4];DATA62=[3,1,3,1,1,2,2,2,2];DATA82=[4,4,4,2,1,2,1,2,2];DATA92=[3,2,3,2,1,1,3,1,3]。

最后得到知识库由上述两套模板所组成。

2.4 本系统的模式识别方法在本次设计过程中,我们选择了模板匹配的识别方法。

通过计算欧氏距离来衡量匹配程度。

本系统中的特征矢量有9个分量,其计算距离公式如下:12291i iid x y=⎡⎤=-⎢⎥⎢⎥⎣⎦∑公式(2.1) 但在本次设计中我们计算距离时对上述公式进行了改进,对于可靠性较高的端点数即最后一维特征值加大了权重,改进后的距离计算公式如下:182229913i iid x y x y=⎡⎤=-+⨯-⎢⎥⎣⎦∑公式(2.2)在识别过程,分别计算待识别图像的特征值与知识库中两个模板的距离,与10个数字逐个比较,距离最小的对应的数字就是最后识别结果。

该算法具有特征提取和模板建立都比较直观,时间复杂度低,易于实现等优点。

其缺点是在建立知识库时需要进行大量的训练,当知识库中的模板增多时,特征矢量间的距离会减小。

3 MATLAB程序设计本次设计使用MATLAB语言实现该系统,其用户界面分别介绍如下。

(1)读入图像:读入图像的用户界面如图 3.1所示。

相关文档
最新文档