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

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

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

1、wordGraduation Design(Thesis) of Chongqing UniversityA Chinese Character Recognition Algorithm Based on Multi- characteristicsUndergraduate: Liu PingjingSupervisor: He GuanghuiMajor:Information and puting ScienceCollege of Mathematical&Physical ScienceChongqing UniversityJune 200726 / 32摘 要 该文提出了一种基

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

3、的字的解决方案。关键词:文字识别,特征提取,模式匹配,模式识别ABSTRACTThe article proposes an algorithm for hand-written Chinese character recognitionand its realization . The algorithm is based on the multi-characteristics, it unifies and improves the algorithm based on the statistic characteristic and the algorithm based on the

4、 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 characteristics of the unknown character image

5、. 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 method in this step. It makes a division to t

6、he image and then pute 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 recognition rate can achieves above 90% .This artic

7、le also provide methods for the characters written standardless.Key words:Writing recognition, Characteristic withdraws, Pattern matching, Pattern recognition目 录中文摘要ABSTRACT目录III图片索引目录绪论11 汉字识别原理与常用算法4 1.1 汉字识别的原理4 1.2 基于统计决策方法的汉字识别5基于结构特征方法的汉字识别62 基于多特征提取的识别算法9手写汉字识别的现行算法分析9以笔划序列为特征的识别算法9基于统计特征的汉字识

8、别算法11现行算法的结合和改良123 识别算法对应的VC代码14输入预处理15识别算法184 算法实现结果和分析20 模拟结果介绍20 结果分析215 总结与展望24 论文总结24 算法的前景展望24参考文献25附:图片索引目录图1.1 汉字识别原理框图4图 1.2 汉字图像的粗外围图5图 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 不能识别的汉字图像示

9、例22绪 论世界上的文字有两大类,一种是拼音类文字如英文,另一种是象形类或图形类文字如汉字。在人机交互中,拼音文字显示出了极大的优越性,利用键盘可以把一个个字母很自然很方便的输入计算机,而对与图形类文字,一直没有适当的输入设备。从80年代开始,微机大量地进入我国,许多用于中文信息处理,但输入设备仍然只是键盘,为了将汉字输入计算机,涌现出了各种各样的汉字编码方案,所谓编码方案就是通过人为的规如此,把汉字转换成字符或数字以方便利用键盘输入。利用编码方案进展汉字输入需要记忆,这给计算机在生活领域的普与带来了很大的不便,利用西文键盘输入汉字的限制成了计算机普与应用的瓶颈和桎酷。随着科学技术的开展,人们

10、意识到要用图形输入设备输入汉字,输入后由计算机自动识别并转化成内码,至于计算机怎样把输入的汉字图像识别出来,就是汉字识别技术。从学科上来说,汉字识别属于模式识别与图像处理的X畴,还涉与到人工智能、形式语言与自动机、统计决策理论、模糊数学、信息论、语言文字学、计算机科学等学科,是一门综合性技术科学。由于汉字数量多,结构复杂,相似字很多,所以汉字识别是难度较大的文字识别。近年来,随着模式识别技术与计算机科学技术的开展,汉字识别也取的了极大的进展。汉字识别的根本过程包括汉字输入、预处理、特征提取、分类识别、识别后处理五个大步骤。 根据识别对象的不同,汉字识别分为手写体汉字识别和印刷体汉字识别两种,前

11、者因为各人的书写习惯不同和手写汉字变化太大而显的比拟困难,后者要相对容易一些。 在手写汉字识别这个X畴中,根据汉字输入方式不同又可以分为联机手写汉字识别和脱机手写汉字识别。通俗地讲,联机手写就是在书写的同时,根据笔划顺序等特征对汉字进展识别,该技术较多地应用在汉字输入设备如手机的手写板中。与联机手写汉字识别不同,脱机手写汉字识别主要是多一副汉字图像进展分类识别,多用于签名识别,笔迹鉴别等领域。 汉字识别应用在以下几个方面:(1) 使汉字高速自动地输入计算机,以彻底解决汉字信息处理系统中手动输入效率底这个关键(2) 办公自动化和下一代印刷技术的文字信息自动输入。(3) 做为新一代计算机智能接口的

12、重要组成局部(4) 汉字文本高倍压缩存储和传输。 下面讲述汉字识别的研究现状和开展前景。汉字识别研究始于20世纪60年代,当时大多数文字识别研究者都集中在英文印刷体文本识别,美国科学家Casey和Nagy率先进展印刷体汉字识别的研究工作,并于1966年发表了第一篇有关汉字识别的论文,随后在这个领域有了大量的研究,这些严重主要是在亚洲进展的,如日本、中国大陆、某某等地。 我国在70年代末开始了汉字识别的研究工作,到现在关于这方面的研究非常活跃,有些产品已经进入市场。眼下印刷体汉字识别系统对实际文本的识别率一般达94%98%,识别速度为510字每秒;联机手写汉字识别系统的识别率最高可大95%;脱机

13、非特定手写汉字识别率最高达85%,速度为1字每秒;脱机特定手写汉字的识别率85%93%,速度35字每秒;其中前两个已经达到实用化要求,某某的研究水平与大陆相当,日本的研究水平比大陆稍高。 从总体来说,汉字识别技术的广泛应用将产生一个新的产业,而这个产业将覆盖社会生活的各个方面,从笔式电脑到办公自动化设备,从邮政信函的自动分拣到各种表格的自动录入,从证件识别到证券识别,从自动阅读机到智能视觉系统。而与汉字识别密切相关的笔迹鉴别设备将会广泛应用于银行、保安等部门。 汉字识别最直接的用途是汉字输入。针对我国汉字录入的现状,汉字识别技术能很好地满足不同层次的单位、个人需要。对有大量汉字录入任务的单位如

14、报社、印刷厂等,一方面可以大幅度提高汉字输入的效率,建设汉字输入时间,另一方面还能缩小庞大的录入员队伍与相应的设备。 汉字识别的另一大用途是在笔式电脑中。笔式电脑没有键盘,用笔进展输入和操作。该设备的一个技术关键是联机手写字符识别技术。笔式电脑是计算机开展的一个重要趋势。目前已经有多中英文笔式电脑产品。笔式电脑的市场前景很大,据IDG预测,到1966年,英文笔式电脑的全球销售量将达到500万台。中文笔式电脑的市场前景同样也是十分巨大的,所以汉字识别技术的研究十分重要。 邮政信函的分拣也是汉字识别技术应用前景看好的领域,目前我国使用的邮政信函分拣机是依据邮政编码的,也就是手写数字识别。但是单纯基

15、于邮政编码识别的正确分拣率只能达到30%左右,所以手写汉字识别技术将使邮政信函的分拣更加完善。 表格信息自动录入也是汉字识别技术大有可为的方向。表格信息的自动录入需要印刷体汉字识别技术、脱机手写汉字识别技术与手写数字识别技术。同样地汉字识别技术还将应用于证件识别和证券识别、智能计算机的智能接口和视觉系统、笔迹鉴别等,由于篇幅有限,不在细述。 在本文的第一局部我们将介绍汉字识别的一般算法和原理,以便对汉字识别实现算法形成初步认识;第二局部主要讲述现在用的比拟多的两个算法以与将它们改良结合形成的新的方法,第三和第四局部将对算法模拟工具vc和主要程序代码做必要讲解,第五局部为对结果的分析。1 汉字识

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

17、0代表文字的空白背景。预处理后即可对文字图像提取特征一种类型的表达式,和存储在辞典里的标准汉字表达形式进展匹配判别,就可识别出输入的未知汉字。 图1.1 汉字识别原理框图 在上图中中间横线以下是系统的学习局部,学习是根据多个未知子样一个文字的不同字样称为子样提取出的模式表达形式,自动构成或修改、充实辞典,不断提高系统的识别率。 汉字的模式表达式和相应的辞典形式有多种,每一种形式可以选择不同的特征或基元,每种特征又有不同的提取方法。这些造成了判别方法和准如此以与所用的数学工具的不同,形成了种类繁多、形式各异的汉字识别方法。不过,所有这些方法可以归结为两类一般的处理方法统计决策方法和句法结构方法。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

32、pointa+2.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。 为得到一笔划方向,在得到该笔划内各相素的方向后,我们还要做一些去噪处理。比如为消除下笔和收笔时的抖动误差而去除两边假如干相素点、为消除

33、书写时的歪曲而除去假如干奇异点等。得到笔划方向序列后,就必须为以后的匹配定义距离,即定义何谓相似的标准。通常做以下定义: 距离d=其中m为输入文字图像的笔划数, 为输入文字图像第笔testi的笔划与字库中某组待比拟特征的第笔的相似度,经过大量的调查分析,一般取值如下表:横竖撇捺折横10竖01撇10捺010折01 表2.3 笔划的相似度表该算法的一般步骤如下:(1) 从输入端得到输入点序列。(2) 由输入点序列去噪、计算得到方向码序列。(3) 将方向码序列去噪处理得到笔画码序列。(4) 根据笔画码序列参照表2.3得到距离d,匹配判别识别汉字。根据此定义得到距离后与事先设定的阙值dis进展比拟,假

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

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

36、大,只使用该方法收效甚微。2 由于汉字图像大小不一,在读如图像后需要对其做规X化预处理。3 在汉字中存在很多字形十分相似的字,如“冢和“家,“狼和“狠等,基于统计的识别算法对这些字不能区分。4 由于直接对图像进展分析,所以该方法主要用于脱机汉字识别。2.2 现行算法的结合和改良上节我们分别讲述了基因笔划特征和基于基于统计特征的的汉字识别算法,也讲了两种方法的优缺点,下面我面介绍怎么将两种算法结合并改良以进展联机手写汉字识别。 汉字是一种结构文字,即它的输入有一定的顺序,每一笔也有一定的结构,所以在进展联机手写汉字识别时,笔划信息一定要充分利用起来,同时我们知道,单纯的笔划特征不足以区分所有汉字

37、,现在我们考虑将输入汉字图像分别从笔划和相素角度做两次分类识别,以下分别称为粗分类和细分类。 在粗分类阶段,我们根据2.1.1小节中的算法先把汉字定位于小X围内,即根据笔划数和笔划顺序从字库选出几个可能的汉字,至于怎样从这几个汉字中找出正确的对应字符就由细分类局部完成。 在细分类阶段,可以根据2.1.2小节中的算法对粗分类后的假如干汉字进展识别,由于X围已经很小,所以该步骤不需要划分太细,通常情况下做3*3分区即可取得理想结果。注意,正如2.1.2小节中所说,用该方法要对汉字图像做规X化处理,我们可以稍做改良,把每区的黑色相素点数改为次数与汉字总相素点数的比值,这样就可以排除汉字大小不一的干扰

38、。 在以上两个阶段,阙值的选取都十分重要,阙值太大如此无法选出具体的汉字,阙值太小又可能由于书写不规X而无法识别,具体值可以根据屡次实践、观察结果分析得出,同样处理的还有2.1.1小节的笔划相似度表,假如结果不理想可以适当修改该表。 至此我们已经很详细的讲述了要采取联机手写汉字的识别算法,但不管什么算法都需要一种计算机语言去实现通常使用高级语言,在下章,我们将给出各步骤实现的vc 代码,以便分析结果。 附注: 在如下图中给出了基于多特征提取的联机手写汉字识别算法的流程图,借助此图可以更清晰地理解该算法。 图2.6 汉字识别算法流程图3 识别算法对应的vc代码 在本章中,我们将介绍文字预处理、识

39、别、识别后处理的代码,语句一般大都简单,有难度的语句后面都有文章注释,所以在文中不在详细讲解,每一程序都在vc平台中调试过并成功运行,如不能允许请检查代码是否抄错。因为篇幅原因,用户界面、鼠标手写笔模拟等程序代码不再给出,有需要可自行查阅参考数目。首先介绍一下程序实现所需的数据结构:int num,Time;int xmax,ymax,xmin,ymin;/随时记录最大x,y坐标int mouseDown;/鼠标按下标记int fxm15300;/方向码int zong;/字库中的字符总数struct int x; int y;store15300;/一笔划点序列/备份的序列struct in

40、t 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;/每方向点数 int total;/共有方向数 int totaldian;/共有点数fxtz15;3.1 输入预处理/数据去噪、处理函数,得到笔划码序列void C

41、RecogDlg: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)fxmij=4;if(storeij+2.ystoreij.x)fxmij=8;else if(storeij+2.xstoreij.x)fxmij=6;/

42、去除噪声点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.totaldian+;for(k=1;k=8;k+)if(fxmij=k)fxtzi.bk-1+;/去除噪声方向点for(i=0;i15;i+)for(j=0;j8

43、;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=:GetDC(m_hWnd);x1=xmin+(xmax-xmin)/3;x2=x1+(xmax-xmin)/3;y1=ymin+(ymax-ymin)/3;y2=

44、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)po2+;sum+;for(y=y1;yy2;y+)for(x=xmin;xx1;x+)if(GetPixel(hdc,x,y)!=16777215)po3+;

45、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(GetPixel(hdc,x,y)!=16777215)po7+;sum+;for(x=x2;xxmax;x+)if(GetPixel(hdc,x,y)!=16777

46、215)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 flagok=0;char s20;double d1,d2;OnOpenMenu();DealDat();obtp();for(i=0;i=zong;i+)i

47、f(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(无法识别!书写不规X或字库中无次字。);4 算法实现结果和分析4.1 模拟结果介绍 MFC支持界面操作,在vc平台上建立一MFC AppWizard.exe文件,根据系统提示建立一对话框后拖入需要的控件按扭、文本框等,在

48、控件的消息响应里写如响应代码,按此步骤程序运行结果如下:图 4.1 程序运行界面其中中间的白色区域是模拟手写板,用鼠标可以在里面进展写字操作,右边四个按扭的功能分别为: 识别:对写如的汉字图像进展识别; 去除:去除手写板中内容以重新书写; 学习:假如想要往字库中添加字符,可先写如要添加的汉字然后点击此键; 退出:完毕软件运行;下面演示手写汉字的识别操作,首先写入汉字 图4.2 汉字的写入 点击“识别按扭进展识别操作 图4.3 系统识别写入的汉字图像汉字被成功识别。假如字库中没有写如的汉字,可以点击“学习按扭向字库中添加此字。如如下图所示: 图4.4 通过“学习过程向字库添加汉字特征4.2 结果

49、分析通过前面几章的讲述,至此基于多特征提前的联机手写汉字识别算法与起计算机实现都已完成,下面是局部实验的识别效果和对算法的分析。 在实验中能识别的汉字图像如: 图4.5 能够识别的汉字图像示例 图4.6 不能识别的汉字图像示例算法对书写规X性不同的汉字图像的识别率见下表:汉字书写的规X性样本容量能识别数量不能识别数量识别率很规X8074692.5%较规X80681285.0%不规X80423852.5% 表4.7 对不同程度规X汉字图像的识别率其中,规X性主要是指笔划的标准程度,比如说“横的歪曲度等。下表给出了该算法对不同结构的汉字的识别效果:汉字结构类型样本容量能识别数量不能识别数量识别率上

50、下结构5046492.0%左右结构5048296.0%半包围5041982.0%全包围5045590.0%复合5044688.0% 表4.8 对不同结构汉字的识别率(很规X)从上表可以看出,该算法对半包围和复合结构的汉字识别效果不太理想,主要因为这两种结构的汉字书写起来难度较大,用鼠标很难把每一笔划写得标准,这就直接导致了识别率的降低.从以上实验结果,我们可以得出结论:基于多特征提取的识别算法通过两级识别机制,弥补了单纯基于笔划特征算法和单纯基于统计特征算法的不足,同时在计算量上也没有增大太多,多写的比拟规X的汉字能识别90%以上,在实际应用中取得了比拟好的效果,但有实现该算法有两点必须注意:

51、() 基于笔划特征提取算法强调书写每一个字时都要遵循一定的笔顺此处的“笔顺是广义的,即第一次向字库中读入该字时的书写顺序,不然将无法识别,现在字库中的常用字都是严格按笔顺写入的,如使用者的书写习惯不同,可在第一次使用时向字库中添加。此外还有一点,书写汉字时不能有连笔现象,这样将无法识别或得到错误结果。() 由于手写体和印刷体差异很大,欲使通常应用于印刷体汉字识别的基于统计特征的算法在手写体汉字识别中取的较好效果,汉字的书写就必须强调规X、工整,不然可能无法正确识别。 上述两点须知事项其实可以看做是本算法的不足,目前基于汉字特征点的识别算法和小波分析算法可以对以上不足做出比拟好的补充,具体请查阅

52、参考书目。5 总结和展望5.1 论文总结 论文选题是在第七学期后期确定的,之后发放了任务书。第八学期一至三周通过相关资料的查询,综合考虑了算法耗时、识别效果、消耗资源等因素,初步拟订将基于结构特征和基于统计特征的算法进展结合改良。在算法的实现上,考虑到该算法是面向应用设计的,而Visual C+语言能对结果做有效的仿真且易于转换为在嵌入式设计广泛使用的标准C语言,所以在算法的程序实现阶段采用了VC语言进展程序设计,实验也取得了较好的效果。通过在PC机上的模拟实验明确,基于多特征提取的中文识别算法在联机手写汉字识别领域有很大的优越性,该算法简单且易于实现,能有效利用汉字输入时的笔划特征,识别效果

53、上明显胜过单纯的结构特征匹配算法,最主要的是该算法耗时少,能很好地满足手写汉字输入的实时性要求。同时该算法有存在着一些不足,表现在对鼠标写入的局部汉字图像识别效果不好,主要有以下两方面的原因:() 由于时间限制,预处理和识别算法实现上都存在一些不足,从而影响了识别效果。() 该算法实验阶段采用的是PC模拟,而用于输入的鼠标设备在汉字输入时容易弯曲、抖动,以至笔划很不规X,导致输入汉字的识别效果不理想。在实际应用中,汉字输入终端都是专用的手写设备,这样便可以极大地提高识别率。5.2 算法的前景展望正如本文绪论中所述,汉字识别应用的领域越来越广,在日常生活中的应用也越来越多,这就对识别系统的资源消

54、耗和实时性提出了很高的要求,该文所阐述的基于多特征提取的中文识别算法资源消耗少(不需要硬件加速)、识别速度快,有着很好的应用前景。参考文献1Tsukumo J , Asai K. Machine printed Chinese and Japanese character recognition method and experiment for reading Japanese pocket book s A . In: CVPR86: IEEE puter Soci2ety Conf. on puter Vision and Pattern RecognitionC . M i2am i,

55、 1986: 162 167.2 X炘中. 汉字识别技术M . : 中文与东方语言信息处理学会, 1991.3 王绪龙. 汉字信息处理M ,:国防工业,1990.4 ARAKAWAH. OnOline Recognition of Handwriting CharactersJ . PR,1983 ,16 :916.5 X炘中, 汉字自动识别研究综述,中文信息,创刊号,PP1114(1984).6 X炘中,我国汉字识别研究的进展,中文信息学Vol.1,No3,PP17(1987).7 马安鹏著, Visual c+程序设计导学,清华大学。8 钱能,C+程序设计教程,清华大学。9 谭浩强,C+程

56、序设计,清华大学。10 俞庆英 吴建国,一种联机手写汉字识别算法的研究和实现,某某学院学报:自然科学版-2004年1期。11 R.C.冈萨雷斯,数字图像处理,科学,1981.12 Julius T.Tou,Rafael C. “Pattern Recognition Principles,1974.13 陈友斌,丁晓青,吴佑寿. 一种新的用于手写汉字识别的非线性归一化方法. 模式识别与人工智能,1998 ,11 (3) :310 - 317.14 章毓敏,图像处理和分析,清华大学。15 贾永康,识别联机手写体汉字的多级分类方法,信号处理1995年4期。16 X青,小波变换在手写体汉字识别中的应用,电路与

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