基于多特征提取的识别算法历年数学建模优秀论文大全

上传人:da****ge 文档编号:52443559 上传时间:2022-02-08 格式:DOC 页数:32 大小:964.50KB
收藏 版权申诉 举报 下载
基于多特征提取的识别算法历年数学建模优秀论文大全_第1页
第1页 / 共32页
基于多特征提取的识别算法历年数学建模优秀论文大全_第2页
第2页 / 共32页
基于多特征提取的识别算法历年数学建模优秀论文大全_第3页
第3页 / 共32页
资源描述:

《基于多特征提取的识别算法历年数学建模优秀论文大全》由会员分享,可在线阅读,更多相关《基于多特征提取的识别算法历年数学建模优秀论文大全(32页珍藏版)》请在装配图网上搜索。

1、Graduation Design(Thesis) of Chongqing UniversityA Chinese Character Recognition Algorithm Based on Multi- characteristicsUndergraduate: Liu PingjingSupervisor: He GuanghuiMajor: Information and Computing ScienceCollege of Mathematical&Physical ScienceChongqing UniversityJune 2007II重庆大学本科学生毕业设计(论文)

2、摘要摘 要 该文提出了一种基于多特征提取的手写汉字识别算法及其实现。该算法同时运用了基于统计特征和基于结构特征的汉字识别算法并对它们做了相应改进。算法在匹配判别阶段采用了分类判别思想,在汉字图像输入的同时,记录汉字图像的输入结构特点,在此基础上得到输入的未知汉字的笔划特征,由笔划特征即可对未知汉字做粗分类,这样可以缩小判别时的汉字范围。经过汉字粗分类后,提取整个汉字图像的统计特征,该步骤采用了网格划分方法,即先对图像做划分,再计算每一网格内文字相素与整个图像中文字相素的比值,通过这些特征对文字图像做细分类即可得到识别结果. 基于多特征提取的识别算法对汉字的识别十分有效,能使识别率达到90%以上

3、,该文同时也给出了对书写不规范的字的解决方案。关键词:文字识别,特征提取,模式匹配,模式识别重庆大学本科学生毕业设计(论文) ABSTRACTABSTRACT The article proposes an algorithm for hand-written Chinese character recognition and its realization . The algorithm is based on the multi-characteristics, it unifies and improves the algorithm based on the statistic cha

4、racteristic and the algorithm based on the structure characteristics. The algorithm adopts the classified distinction through the match distinction stage. It takes down the character images input unique feature when the image input. With the input unique feature, it can obtains the pen delimits char

5、acteristics of the unknown character image. The first classification can be managed based on these steps, thus the range of the second classification will smaller. After the first classification, it must withdraws the statistic characteristics of the image. The algorithm adopts the grid division met

6、hod in this step. It makes a division to the image and then compute the element ratio of every areas. As a result, the character image can be recognized by the steps above. The recognition algorithm based on multi-characteristics is extremely effective to the Chinese character recognition.The recogn

7、ition rate can achieves above 90% .This article also provide methods for the characters written standardless. Key words: Writing recognition, Characteristic withdraws, Pattern matching, Pattern recognition 重庆大学本科学生毕业设计(论文) 目录1重庆大学本科学生毕业设计(论文) 绪论目 录中文摘要ABSTRACT目录III图片索引目录绪论11 汉字识别原理及常用算法4 1.1 汉字识别的原理

8、4 1.2 基于统计决策方法的汉字识别5 1.3基于结构特征方法的汉字识别62 基于多特征提取的识别算法9 2.1手写汉字识别的现行算法分析92.1.1以笔划序列为特征的识别算法92.1.2基于统计特征的汉字识别算法11 2.2现行算法的结合和改进123 识别算法对应的VC代码14 3.1输入预处理15 3.2识别算法184 算法实现结果和分析20 4.1 模拟结果介绍20 4.2 结果分析215 总结与展望24 5.1 论文总结24 5.2 算法的前景展望24参考文献25重庆大学本科学生毕业设计(论文) 图片索引目录附:图片索引目录图1.1 汉字识别原理框图4图 1.2 汉字图像的粗外围图5

9、图 2.1 二维平面的划分图9图 2.4 汉字图像的统计特征图11图 2.6 汉字识别算法流程图13图 4.1 程序运行界面20图 4.2 汉字的写入20图 4.3 系统识别写入的汉字图像21图 4.4 通过“学习”过程向字库中添加汉字特征21图 4.5 能够识别的汉字图像示例22图 4.6 不能识别的汉字图像示例22V重庆大学本科学生毕业论文 绪论绪 论 世界上的文字有两大类,一种是拼音类文字(如英文),另一种是象形类或图形类文字(如汉字)。在人机交互中,拼音文字显示出了极大的优越性,利用键盘可以把一个个字母很自然很方便的输入计算机,而对与图形类文字,一直没有适当的输入设备。从80年代开始,

10、微机大量地进入我国,许多用于中文信息处理,但输入设备仍然只是键盘,为了将汉字输入计算机,涌现出了各种各样的汉字编码方案,所谓编码方案就是通过人为的规则,把汉字转换成字符或数字以方便利用键盘输入。利用编码方案进行汉字输入需要记忆,这给计算机在生活领域的普及带来了很大的不便,利用西文键盘输入汉字的限制成了计算机普及应用的瓶颈和桎酷。随着科学技术的发展,人们意识到要用图形输入设备输入汉字,输入后由计算机自动识别并转化成内码,至于计算机怎样把输入的汉字图像识别出来,就是汉字识别技术。 从学科上来说,汉字识别属于模式识别与图像处理的范畴,还涉及到人工智能、形式语言与自动机、统计决策理论、模糊数学、信息论

11、、语言文字学、计算机科学等学科,是一门综合性技术科学。由于汉字数量多,结构复杂,相似字很多,所以汉字识别是难度较大的文字识别。近年来,随着模式识别技术及计算机科学技术的发展,汉字识别也取的了极大的进展。汉字识别的基本过程包括汉字输入、预处理、特征提取、分类识别、识别后处理五个大步骤。 根据识别对象的不同,汉字识别分为手写体汉字识别和印刷体汉字识别两种,前者因为各人的书写习惯不同和手写汉字变化太大而显的比较困难,后者要相对容易一些。 在手写汉字识别这个范畴中,根据汉字输入方式不同又可以分为联机手写汉字识别和脱机手写汉字识别。通俗地讲,联机手写就是在书写的同时,根据笔划顺序等特征对汉字进行识别,该

12、技术较多地应用在汉字输入设备如手机的手写板中。与联机手写汉字识别不同,脱机手写汉字识别主要是多一副汉字图像进行分类识别,多用于签名识别,笔迹鉴别等领域。 汉字识别应用在以下几个方面:(1) 使汉字高速自动地输入计算机,以彻底解决汉字信息处理系统中手动输入效率底这个关键1重庆大学本科学生毕业论文 绪论(2) 办公自动化和下一代印刷技术的文字信息自动输入。(3) 做为新一代计算机智能接口的重要组成部分重庆大学本科学生毕业设计(论文) 绪论重庆大学本科学生毕业设计(论文) 绪论(4) 汉字文本高倍压缩存储和传输。 下面讲述汉字识别的研究现状和发展前景。汉字识别研究始于20世纪60年代,当时大多数文字

13、识别研究者都集中在英文印刷体文本识别,美国科学家Casey和Nagy率先进行印刷体汉字识别的研究工作,并于1966年发表了第一篇有关汉字识别的论文,随后在这个领域有了大量的研究,这些严重主要是在亚洲进行的,如日本、中国大陆、台湾等地。 我国在70年代末开始了汉字识别的研究工作,到现在关于这方面的研究非常活跃,有些产品已经进入市场。眼下印刷体汉字识别系统对实际文本的识别率一般达94%98%,识别速度为510字每秒;联机手写汉字识别系统的识别率最高可大95%;脱机非特定手写汉字识别率最高达85%,速度为1字每秒;脱机特定手写汉字的识别率85%93%,速度35字每秒;其中前两个已经达到实用化要求,台

14、湾的研究水平与大陆相当,日本的研究水平比大陆稍高。 从总体来说,汉字识别技术的广泛应用将产生一个新的产业,而这个产业将覆盖社会生活的各个方面,从笔式电脑到办公自动化设备,从邮政信函的自动分拣到各种表格的自动录入,从证件识别到证券识别,从自动阅读机到智能视觉系统。而与汉字识别密切相关的笔迹鉴别设备将会广泛应用于银行、保安等部门。 汉字识别最直接的用途是汉字输入。针对我国汉字录入的现状,汉字识别技术能很好地满足不同层次的单位、个人需要。对有大量汉字录入任务的单位如报社、出版社、印刷厂等,一方面可以大幅度提高汉字输入的效率,建设汉字输入时间,另一方面还能缩小庞大的录入员队伍及相应的设备。 汉字识别的

15、另一大用途是在笔式电脑中。笔式电脑没有键盘,用笔进行输入和操作。该设备的一个技术关键是联机手写字符识别技术。笔式电脑是计算机发展的一个重要趋势。目前已经有多中英文笔式电脑产品。笔式电脑的市场前景很大,据IDG预测,到1966年,英文笔式电脑的全球销售量将达到500万台。中文笔式电脑的市场前景同样也是十分巨大的,所以汉字识别技术的研究十分重要。 邮政信函的分拣也是汉字识别技术应用前景看好的领域,目前我国使用的邮政信函分拣机是依据邮政编码的,也就是手写数字识别。但是单纯基于邮政编码识别的正确分拣率只能达到30%左右,所以手写汉字识别技术将使邮政信函的分拣更加完善。 表格信息自动录入也是汉字识别技术

16、大有可为的方向。表格信息的自动录入需要印刷体汉字识别技术、脱机手写汉字识别技术及手写数字识别技术。同样地汉字识别技术还将应用于证件识别和证券识别、智能计算机的智能接口和视觉系统、笔迹鉴别等,由于篇幅有限,不在细述。 在本文的第一部分我们将介绍汉字识别的一般算法和原理,以便对汉字识别实现算法形成初步认识;第二部分主要讲述现在用的比较多的两个算法以及将它们改进结合形成的新的方法,第三和第四部分将对算法模拟工具(vc)和主要程序代码做必要讲解,第五部分为对结果的分析。 27重庆大学本科学生毕业设计(论文) 汉字识别的原理及常用算法1 汉字识别的原理及常用算法1.1 汉字识别的原理 和其他模式识别一样

17、,汉字识别的基本思想也是匹配判别。抽取代表未知汉字模式本质的表达形式(如各种特征)和预先存储在机器中的标准汉字模式表达形式的集合(称为辞典)逐一匹配,用一定的准则进行判别,并在机器存储的标准汉字模式表达形式的集合中,找出最接近输入文字的模式表达形式,该表达形式对应的字就是识别结果。 汉字识别的原理框图见图1.1。光电扫描纸面文字产生模拟电信号,经模数转换成为带灰度值的数字信号送至预处理环节。预处理的内容和要求取决于识别方法。一般包括行、字切分,二值化,细化和抽取轮廓,平滑,规范化等。预处理后,汉字模式成为规范化的二值数字点阵,其中1代表笔画,0代表文字的空白背景。预处理后即可对文字图像提取特征

18、(一种类型的表达式),和存储在辞典里的已知标准汉字表达形式进行匹配判别,就可识别出输入的未知汉字。 图1.1 汉字识别原理框图 在上图中中间横线以下是系统的学习部分,学习是根据多个未知子样(一个文字的不同字样称为子样)提取出的模式表达形式,自动构成或修改、充实辞典,不断提高系统的识别率。 汉字的模式表达式和相应的辞典形式有多种,每一种形式可以选择不同的特征(或基元),每种特征又有不同的提取方法。这些造成了判别方法和准则以及所用的数学工具的不同,形成了种类繁多、形式各异的汉字识别方法。不过,所有这些方法可以归结为两类一般的处理方法统计决策方法和句法结构方法。最近还有人提出用人工智能方法识别汉字。

19、接下来的两节中将对上面来种常用算法分别阐述。必须指出的是,汉字识别有联机识别和脱机识别之分。在联机的情况下,汉字结构的输入顺序可以做为重要特征来识别汉字,在第二章将详细介绍这种方法及其实现。1.2 基于统计决策方法的汉字识别汉字识别的统计决策方法提取字符图像的特征形成特征矢量,特征矢量并不直接表示笔迹,而是表示字符图像的特性。统计字符识别方法根据训练样本集估计特征矢量的分布,具有优异的抗干扰能力,因此在汉字识别中得到广泛应用该方法需要一个表达样本分布的函数,多变量正态分布概率密度函数通常被认为是样本分布的近似函数汉字的统计特征种类很多,比如笔划密度特征,汉字粗外围特征、汉字网格特征等。下面简单

20、介绍汉字粗外围特征的提取。1.2.1 汉字粗外围特征的提取 汉字轮廓结构包含了汉字特征的重要信息, 粗外围特征(即从汉字四边向中间扫描, 以第1 次碰到笔划象素所经过的行程值作为特征) 分类就是抽取汉字四周轮廓信息作为特征来进行分类的, 它被认为是印刷体汉字识别方面比较有效的粗分类方法。也可以采用一种改进的粗外围特征来进行粗分类, 其基本思路是对原图进行变换, 以使内部结构受外围信息影响, 以图1.2为例,具体实现过程为: 先从文字四边框对文字进行扫描, 然后把原文字背景部分中, 从所有方向都不能连续扫描到的区域设为笔划部分, 这样就得到所谓的粗外围图. 由其实现过程可以看出, 原文字内部区域

21、的特征也受轮廓影响, 如图1.2 (b) 所示, 其中“件”字内部一小块区域原来是背景(黑象素) , 但因为轮廓的影响, 变换后成为笔划区域(白象素).特征的计算方法为: 首先将3636 点阵的粗外围图划分为44= 16 个网格(每个网格包括99pixel) , 再统计其中的白象素数, 以构成16 维粗外围特征. 实际上, 虽然特征实现时仍然使用了粗外围特征, 但原始粗外围特征仅考虑汉字的轮廓信息, 而改进方法则在利用汉字内部结构信息的基础上, 又加强了粗外围轮廓信息在特征量中的比重. 图1.2 汉字图像粗外围图1.3 基于结构特征方法的汉字识别目前,文字结构特征的提取有两种方法,第一种方法是

22、基于像素的字符轮廓获取方法,这种方法没有考虑全局信息和结构信息,因而结果中存在诸如毛边和交叉点变形等问题. 为此,研究人员提出了其它一些特征提取方法 ,但这使得基于像素的字符识别更加复杂而不稳定。第二种方法是用一组线段及它们相互间的关系来描述文字并进行识别,但是这些方法步骤繁多、计算复杂,难以实现,而且易受边界噪声和交叉点的影响。无约束手写汉字数量庞大、结构复杂、形近字多而且无规则变形严重,所以各种不同字体手写汉字的识别是字符识别领域中一个极为困难的问题,被认为是该领域最具挑战性的研究课题和最高目标之一 . 在已有的方法中,有些只能识别相对简单的手写数字,有些虽然可以识别少量的手写汉字 ,但它

23、们都无法从根本上克服误识别率高这一不足。贝叶斯分类器等传统的模式识别方法因先验知识不足而无法取得理想的效果,语法推理法和继电器法等新的识别方法因编码过程复杂、计算量大或可识别的文字数量有限等原因而难以实现 。神经网络具有很强的知识获取能力和分类能力,有很高的容错性和鲁棒性,可以在特征空间内形成任意复杂的决策区域,它所具有的自组织、自学习功能大大放宽了传统模式识别方法所受的约束条件,为汉字识别提供了新的有力工具 。1.3.1 文字输入预处理及特征提取 因为手写汉字大小不一,所以在提取结构特征和进行识别时首先需要对其进行归一化处理。目前,大小归一化有两种方法,一是在水平和垂直方向都进行归一化;二是

24、仅在一个方向归一化,同时保持输入汉字的形状比例。 前者在减小不同人的手写汉字差异方面较为有效,但可能使汉字在某一方向上发生失真。 这里根据手写汉字特征提取和识别的需要,对不同的输入手写汉字采用不同的归一化策略. 设原始手写汉字为Y 行*X 列,归一化后为列, 则: (1) 如果X 且Y ,文字只做平移操作; (2) 如果X且Y ,则将文字宽度归一化为,高度按比例归一化; ( 3) 如果X ,则将文字高度归一化为,宽度按比例归一化; (4) 如果X 且Y ,则将文字归一化为行 列。现在来讨论归一化手写汉字的结构特征提取问题。该方法选择的结构特征包括:特征点、线段、基本笔画以及笔画方向图等。基本笔

25、画定义为长度有限的直线,而笔画方向图描述了字符几何结构特征,其提取是以笔画方向为基础的。考虑了沿逆时针与水平方向夹角分别为0,45,90和135的四个方向,并用1 ,2 ,3 ,4 以及- 1 , - 2 , - 3 , - 4 分别标记这四个方向及其反方向. 令 为像素 的灰度级,对于黑色像素 ,对于白色像素,字符是由黑色像素组成的图像。 一个黑色像素的方向码是根据沿四个方向经过该像素的笔画长度而确定的。该方法定义向笔画为沿方向的一系列连续黑色像素( = 1 ,2 ,3 ,4) ,将经过黑色像素的最长向笔画的方向定义为该点的方向码。 具有相同方向码的相连黑色像素构成一个像块,且称方向码为的像

26、块为向像块。 如果某个像块与其它像块交叉或相接,则需要将该块进而分解为笔画段和交叉段。下面来提取结构特征量。首先需要提取的是轮廓段,它是从笔画段中提取出来的, 对于方向代码为的笔画段,它可以分解成一组连续的向笔画,提取轮廓段之前先确定该组两端的向笔画,将它们用一条直线连接起来,形成笔画段的轮廓. 虽然根据其方向码可将轮廓段分为四种,但轮廓段可能是任意方向. 如果某个轮廓段的长度小于或等于一个允许长度,就称其为短轮廓段. 如果短轮廓段的两端都不与交叉点相接,即为一个孤立轮廓段,则认为该短轮廓段是噪声. 如果只有一段与交叉点相接,这样的短轮廓段称为毛边.该算法根据这样的逻辑去除了所提取的轮廓段中的

27、噪声和毛边现象。 接下来提取交叉点和轮廓。 假设交叉段只包括一个交叉点,当程序发现一个交叉段后,就首先计算交叉度和交叉点的位置,然后延长所有与该交叉段相接的轮廓段到该交叉点处,从而形成完整的字符轮廓。 假设代表方向代码同为且与同一个交叉段相接的轮廓段的个数,令为该交叉段的交叉度,则有。 为了确定交叉点的位置,本文按照方向代码考虑了全部四种不同的情况:(1) ,即没有轮廓段。(2) ,只有一个轮廓段,确定该轮廓段方向上与白色像素相邻接的黑色像素为交叉点。(3) 且至少有两个轮廓段,而且一个方向上最多只有一个轮廓段。 选择任意两个轮廓段并沿各自的方向将其延长,延长线的交点即为交叉点。(4) ,至少

28、有两个具有相同方向代码的轮廓段. 如果有一对延伸方向相反的向轮廓段,则标识量置为1 ,相反则为0.此时确定交叉点时需要分三种情况讨论:(a) ,不存在延伸方向相反的一对轮廓段. 如果有两个轮廓段方向码不相同,则将其沿各自的方向延长后必然会形成一个交叉点. 而如果所有轮廓段的方向码都相同,则将其中一段按估计的笔画宽度的某一倍数延长后即得到所期望的交叉点。(b) ,只存在一对延伸方向相反的轮廓段. 用一段直线将它们连接起来,取该直线的中点作为交叉点。(c) ,至少存在两个延伸方向相反的轮廓段. 任选两对轮廓段,将每对用一条直线相连,两条直线的交点便是所期望的交叉点。提取出一个交叉点后,将每个在该交

29、叉点相接的轮廓段与该交叉点连接起来,这样把所有轮廓段和交叉点都连接起来便构成了字符轮廓,即瘦化字符。在提取出交叉点和轮廓段(即点特征和线段特征) 后,就可根据这两种信息进而提取基本笔画,根据轮廓段信息还可以提取出笔画方向图. 该处用一种简单的轮廓段合并策略将轮廓段合并成基本笔画. 依次检查各个交叉点处所有相接的轮廓段中是否有两个轮廓段共线,如果有就将它们合并成一个新的轮廓段,即基本笔画. 记1 和2 分别为两个轮廓段的方向角,令= min (| 1 - 2 | ,360- | 1- 2 | ) 为两段的夹角,若155180,则允许将两段合并. 然后以合并后的轮廓段取代原来的两个轮廓段,且更新轮

30、廓段和交叉点的端点标记,同时选择与新轮廓段方向最接近的方向代码作为新的方向代码。当检查完所有交叉点后,全部基本笔画便最终确定了。最后根据各轮廓段的方向代码来绘制笔画方向图. 首先将字符沿水平和垂直方向分成个单元,每个单元为,其中。选择每个单元中像素数目最多的轮廓段的方向代码为该单元方向码。如果某单元没有轮廓段经过,则其方向码置空() ,所有单元的方向代码一起就构成了笔画方向图.重庆大学本科学生毕业设计(论文) 基于多特征提取的识别算法2 基于多特征提取的识别算法现在对于联机手写体的汉字识别算法很多,在本章第一节,我们先对这些算法做初步的分析认识,然后在其基础上导出多特征提取的算法,而用于实现这

31、些算法的代码将在下章给出。2.1 手写汉字识别的现行算法分析2.1.1 以笔划序列为特征的算法该算法将汉字的笔画分为若干类,然后根据各类笔画的输入顺序做为一个汉字的特征并存入字库,当汉字联机输入时,得到该文字图像的笔画序列特征并和字库中的特征进行比较,若有一组特征与该图像特征的差别很小,即可认为是同一字。下面我们先介绍笔画的分类方法,然后在分别介绍图像的预处理和距离定义。在介绍笔划的划分前,我们先把二维平面做一个划分,如下图所示: 图2.1 二维平面的划分在上图基础上,笔划通常划分为以下几种:(1) 横,用数字1标识,方向为1;(2) 竖,用数字2标识,方向为3;(3) 撇,用数字3标识,方向

32、为4;(4) 捺,用数字4标识,方向为2;(5) 折,用数字5标识,有至少两个方向;在有些算法中,又把折细分为顺时针方向折、逆时针方向折和混合方向折三种,在此不再细述。将笔划分类以后,我们就要面临一个问题,如何从文字图像的读入过程中得到方向序列,自然地我们会想到斜率,即得到一个笔划中每一相素点的斜率,然后依照上图得到该笔划的方向,但严格来讲,用斜率表示并不明智,比如方向3和7的斜率根本不存在。得到一个相素点方向的可行方法是:用该相素后面第二个点的坐标与该相素坐标做比较,如下:1、 若pointa+2.y=pointa.y且pointa+2.xpointa.x,方向1。2、 若pointa+2.

33、y=pointa.y且pointa+2.xpointa.y,方向3。4、 若pointa+2.x=pointa.x且pointa+2.ypointa.x且pointa+2.ypointa.y,方向2。6、 若pointa+2.xpointa.x且pointa+2.ypointa.y,方向8。7、 若pointa+2.xpointa.y,方向4。8、 若pointa+2.xpointa.x且pointa+2.ypointa.y,方向6。 为得到一笔划方向,在得到该笔划内各相素的方向后,我们还要做一些去噪处理。比如为消除下笔和收笔时的抖动误差而去除两边若干相素点、为消除书写时的歪曲而除去若干奇异点

34、等。得到笔划方向序列后,就必须为以后的匹配定义距离,即定义何谓相似的标准。通常做以下定义: 距离d= 2.2其中m为输入文字图像的笔划数, 为输入文字图像第笔testi的笔划与字库中某组待比较特征的第笔的相似度,经过大量的调查分析,一般取值如下表:横竖撇捺折横100.20.60.25竖010.60.60.1撇0.20.6100.1捺0.60.6010折0.250.10.101 表2.3 笔划的相似度表该算法的一般步骤如下:(1) 从输入端得到输入点序列。(2) 由输入点序列去噪、计算得到方向码序列。(3) 将方向码序列去噪处理得到笔画码序列。(4) 根据笔画码序列参照表2.3得到距离d,匹配判

35、别识别汉字。 根据此定义得到距离后与事先设定的阙值dis进行比较,若ddis 可认识两字相同,即对手写汉字图像做了识别。这种识别算法原理简单且易于实现,但也有其不足之处,例如:汉字“六”和“文”的笔划序列都是“4134”,所以无法正确识别。2.1.2 基于统计特征的汉字识别算法统计特征即汉字图像的相素分布特征,为简化起见,一般把汉字图像转换成二值图像再做处理,通常把一副汉字图像分成4*4=16或3*3=9个区,统计每个区的黑色相素点数,然后与字库里已有特征做比较,将距离最小的做为匹配字符。这种算法中的距离也有多种定义,通常采用两种方法,方差距离和绝对值距离,下面以绝对值距离为例,讲述一下该方法

36、的具体应用。下图是一个汉字图像并对其做了4*4划分,其中各区的特征值如图所示: 图2.4 汉字图像的统计特征图现在把其特征表示为一个数组即test.p16,若字库中第组特征为tezi.p16,则待识别汉字图像与字库里第个字的距离为: 2.5为了便于识别,需要定义阙值dis,若ddis,即可认为输入汉字为字库中第i个字符。至此该算法的步骤可以归纳如下:(1) 对输入图形进行4*4分区,统计每区黑色相素点数。(2) 将每区黑色相素点数除以图像总黑相素点数,的到pi,i=1,29。(3) 由2.5式得到距离d,然后匹配判别。该方法形象直观,也很容易实现,但其弊端很多,表现在以下几个方面,(1) 这种

37、方法只局限于一种字体且多用于印刷体汉字的识别,手写体汉字由于字形变化、歪曲教大,只使用该方法收效甚微。(2) 由于汉字图像大小不一,在读如图像后需要对其做规范化预处理。(3) 在汉字中存在很多字形十分相似的字,如“冢”和“家”,“狼”和“狠”等,基于统计的识别算法对这些字不能区分。(4) 由于直接对图像进行分析,所以该方法主要用于脱机汉字识别。2.2 现行算法的结合和改进 上节我们分别讲述了基因笔划特征和基于基于统计特征的的汉字识别算法,也讲了两种方法的优缺点,下面我面介绍怎么将两种算法结合并改进以进行联机手写汉字识别。 汉字是一种结构文字,即它的输入有一定的顺序,每一笔也有一定的结构,所以在

38、进行联机手写汉字识别时,笔划信息一定要充分利用起来,同时我们知道,单纯的笔划特征不足以区分所有汉字,现在我们考虑将输入汉字图像分别从笔划和相素角度做两次分类识别,以下分别称为粗分类和细分类。 在粗分类阶段,我们根据2.1.1小节中的算法先把汉字定位于小范围内,即根据笔划数和笔划顺序从字库选出几个可能的汉字,至于怎样从这几个汉字中找出正确的对应字符就由细分类部分完成。 在细分类阶段,可以根据2.1.2小节中的算法对粗分类后的若干汉字进行识别,由于范围已经很小,所以该步骤不需要划分太细,通常情况下做3*3分区即可取得理想结果。注意,正如2.1.2小节中所说,用该方法要对汉字图像做规范化处理,我们可

39、以稍做改进,把每区的黑色相素点数改为次数与汉字总相素点数的比值,这样就可以排除汉字大小不一的干扰。 在以上两个阶段,阙值的选取都十分重要,阙值太大则无法选出具体的汉字,阙值太小又可能由于书写不规范而无法识别,具体值可以根据多次实践、观察结果分析得出,同样处理的还有2.1.1小节的笔划相似度表,若结果不理想可以适当修改该表。 至此我们已经很详细的讲述了要采取联机手写汉字的识别算法,但不管什么算法都需要一种计算机语言去实现(通常使用高级语言),在下章,我们将给出各步骤实现的vc 代码,以便分析结果。 附注: 在下图中给出了基于多特征提取的联机手写汉字识别算法的流程图,借助此图可以更清晰地理解该算法

40、。 图2.6 汉字识别算法流程图重庆大学本科学生毕业设计(论文) 识别算法对应的vc代码3 识别算法对应的vc代码 在本章中,我们将介绍文字预处理、识别、识别后处理的代码,语句一般大都简单,有难度的语句后面都有文章注释,所以在文中不在详细讲解,每一程序都在vc平台中调试过并成功运行,如不能允许请检查代码是否抄错。因为篇幅原因,用户界面、鼠标手写笔模拟等程序代码不再给出,有需要可自行查阅参考数目。首先介绍一下程序实现所需的数据结构:int num,Time;int xmax,ymax,xmin,ymin;/随时记录最大x,y坐标int mouseDown;/鼠标按下标记int fxm15300;

41、/方向码int zong;/字库中的字符总数struct int x; int y;store15300;/一笔划点序列/备份的序列struct int x; int y;storeback15300;struct char zifu2;/代表字符 int total;/总的笔划数 int bh15;/每个笔划的点数 double p9;/每区相素比重tez4000;struct char zifu2; int total;/笔画数 int bh15;/笔画码序列 double p9;/每区相素比重test;/意义同上,为测试点的结构 struct fangxtz int b8;/每方向点数

42、int total;/共有方向数 int totaldian;/共有点数fxtz15;3.1 输入预处理/数据去噪、处理函数,得到笔划码序列void CRecogDlg:DealDat()int i,j,k;for(i=0;i15;i+) /得到方向序列码fxm15300,已验证,正确for(j=0;(jstoreij.x)fxmij=1;else if(storeij+2.xstoreij.y)fxmij=3;else if(storeij+2.ystoreij.y)if(storeij+2.xstoreij.x)fxmij=2;else if(storeij+2.xstoreij.x)fx

43、mij=4;if(storeij+2.ystoreij.x)fxmij=8;else if(storeij+2.xstoreij.x)fxmij=6;/去除噪声点for(i=0;i15;i+)for(j=0;j288;j+)fxmij=fxmij+2;for(i=0;i15;i+)for(j=3;(j300)&(fxmij!=0);j+)if(fxmij-1!=fxmij)&(fxmij+1!=fxmij)for(k=j;fxmik!=0;k+)fxmik=fxmik+1;/得到方向特征for(i=0;i15;i+)for(j=0;(j300)&fxmij!=0;j+)fxtzi.totald

44、ian+;for(k=1;k=8;k+)if(fxmij=k)fxtzi.bk-1+;/去除噪声方向点for(i=0;i15;i+)for(j=0;j8;j+)if(float(fxtzi.bj)/float(fxtzi.totaldian)0.3)fxtzi.bj=0;if(fxtzi.bj!=0)fxtzi.total+;/得到笔画序列for(i=0;i1)test.bhi=5;/将图像3*3分区,得到各区特征(具体见2.3节)void CRecogDlg:obtp()int x1,x2,y1,y2,x,y,i;int sum=0;int po9;char s20;HDC hdc=:Get

45、DC(m_hWnd);x1=xmin+(xmax-xmin)/3;x2=x1+(xmax-xmin)/3;y1=ymin+(ymax-ymin)/3;y2=y1+(ymax-ymin)/3;for(i=0;i9;i+)poi=0;for(y=ymin;yy1;y+)for(x=xmin;xx1;x+)if(GetPixel(hdc,x,y)!=16777215)po0+;sum+;for(x=x1;xx2;x+)if(GetPixel(hdc,x,y)!=16777215)po1+;sum+;for(x=x2;xxmax;x+)if(GetPixel(hdc,x,y)!=16777215)po

46、2+;sum+;for(y=y1;yy2;y+)for(x=xmin;xx1;x+)if(GetPixel(hdc,x,y)!=16777215)po3+;sum+;for(x=x1;xx2;x+)if(GetPixel(hdc,x,y)!=16777215)po4+;sum+;for(x=x2;xxmax;x+)if(GetPixel(hdc,x,y)!=16777215)po5+;sum+;for(y=y2;yymax;y+)for(x=xmin;xx1;x+)if(GetPixel(hdc,x,y)!=16777215)po6+;sum+;for(x=x1;xx2;x+)if(GetPi

47、xel(hdc,x,y)!=16777215)po7+;sum+;for(x=x2;xxmax;x+)if(GetPixel(hdc,x,y)!=16777215)po8+;sum+;for(i=0;i9;i+)test.pi=float(poi)/float(sum);/sprintf(s,%d,%d,%lf,po0,sum,test.p0);/AfxMessageBox(s);3.2 识别算法/识别函数void CRecogDlg:OnRecogn() / TODO: Add your control notification handler code hereint i,j;int fl

48、agok=0;char s20;double d1,d2;OnOpenMenu();DealDat();obtp();for(i=0;i=zong;i+)if(tezi.total=test.total)d1=0;for(j=0;jtest.total;j+)d1=d1+(1-dis(test.bhj,tezi.bhj);d1=d1/float(test.total); d2=0;for(j=0;j9;j+)d2=d2+fabs(test.pj-tezi.pj);if(d10.02) if(d2zong)AfxMessageBox(无法识别!书写不规范或字库中无次字。);重庆大学本科学生毕业设

49、计(论文) 算法实现结果和分析4 算法实现结果和分析4.1 模拟结果介绍 MFC支持界面操作,在vc平台上建立一MFC AppWizard.exe文件,根据系统提示建立一对话框后拖入需要的控件(按扭、文本框等),在控件的消息响应里写如响应代码,按此步骤程序运行结果如下: 图 4.1 程序运行界面其中中间的白色区域是模拟手写板,用鼠标可以在里面进行写字操作,右边四个按扭的功能分别为: 识别:对写如的汉字图像进行识别; 清除:清除手写板中内容以重新书写; 学习:若想要往字库中添加字符,可先写如要添加的汉字然后点击此键; 退出:结束软件运行;下面演示手写汉字的识别操作,首先写入汉字 图4.2 汉字的

50、写入 点击“识别”按扭进行识别操作 图4.3 系统识别写入的汉字图像汉字被成功识别。若字库中没有写如的汉字,可以点击“学习”按扭向字库中添加此字。如下图所示: 图4.4 通过“学习”过程向字库添加汉字特征4.2 结果分析 通过前面几章的讲述,至此基于多特征提前的联机手写汉字识别算法及起计算机实现都已完成,下面是部分实验的识别效果和对算法的分析。 在实验中能识别的汉字图像如: 图4.5 能够识别的汉字图像示例 图4.6 不能识别的汉字图像示例算法对书写规范性不同的汉字图像的识别率见下表:汉字书写的规范性样本容量能识别数量不能识别数量识别率很规范8074692.5%较规范80681285.0%不规

51、范80423852.5% 表4.7 对不同程度规范汉字图像的识别率其中,规范性主要是指笔划的标准程度,比如说“横”的歪曲度等。下表给出了该算法对不同结构的汉字的识别效果:汉字结构类型样本容量能识别数量不能识别数量识别率上下结构5046492.0%左右结构5048296.0%半包围5041982.0%全包围5045590.0%复合5044688.0% 表4.8 对不同结构汉字的识别率(很规范)从上表可以看出,该算法对半包围和复合结构的汉字识别效果不太理想,主要因为这两种结构的汉字书写起来难度较大,用鼠标很难把每一笔划写得标准,这就直接导致了识别率的降低.从以上实验结果,我们可以得出结论:基于多特

52、征提取的识别算法通过两级识别机制,弥补了单纯基于笔划特征算法和单纯基于统计特征算法的不足,同时在计算量上也没有增大太多,多写的比较规范的汉字能识别90%以上,在实际应用中取得了比较好的效果,但有实现该算法有两点必须注意:() 基于笔划特征提取算法强调书写每一个字时都要遵循一定的笔顺(此处的“笔顺”是广义的,即第一次向字库中读入该字时的书写顺序),不然将无法识别,现在字库中的常用字都是严格按笔顺写入的,如使用者的书写习惯不同,可在第一次使用时向字库中添加。此外还有一点,书写汉字时不能有连笔现象,这样将无法识别或得到错误结果。() 由于手写体和印刷体差别很大,欲使通常应用于印刷体汉字识别的基于统计特

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!