印刷体汉字识别及其MATLAB实现docx文档格式.docx
《印刷体汉字识别及其MATLAB实现docx文档格式.docx》由会员分享,可在线阅读,更多相关《印刷体汉字识别及其MATLAB实现docx文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
分析、二值化、倾斜校正、行列切分、平滑、归一化、细化等。
(1)版面分析
它是指对印刷体文档图像进行分析,提取出文本、图像图形、表格等区域,并确定其逻辑关系,并将相应的文本块连接在一起。
(2)二值化
将一幅具有多种灰度值的图像变成白黑分布的二值图像的工作称为二值化
处理,二值化的主要目的是将汉字从图像中分离出来。
通常的方法为先确定像素
的阈值,比较像素值和阈值的大小,从而确定为1或0,这个二值化阈值的选取
较为关键。
(3)倾斜校正
通过输入设备获得的图像不可避免地会发生倾斜,这会给后面的行字分割、
文字识别等图像处理与分析带来困难,因此,在汉字识别系统中,倾斜校正是图
像预处理的重要部分。
倾斜校正的核心在于如何检测出图像的倾斜角。
(4)汉字切分
汉字切分的目的是利用字与字之间、行与行之间的空隙,将单个汉字从整个图像中分离出来。
汉字的切分分为行切分和字切分。
(5)归一化
归一化也称规格化,它是把文字尺寸变换成统一大小,纠正文字位置(平移),文字笔画粗细变换等文字图像的规格化处理,并只对文字图像进行投影。
(6)平滑
对数字图像进行平滑,目的是去处孤立的噪声干扰,以平滑笔画边缘。
平滑在图像处理中实质是一幅文字图像通过一个低通滤波器,去除高频分量,保留低频分量。
(7)细化
细化处理是将二值化文字点阵逐层剥去轮廓边缘上的点,变成笔画宽度只有一个比特的文字骨架图形。
细化处理的目的是搜索图像的骨架,去除图像上多余的像素,从而在不改变图像主要特征的前提下,减少图像的信息量。
1.2.2汉字特征提取预处理的最终目的是为了更加方便、准确地进行汉字的特征提取,从而提高汉字识别率。
对于汉字,其特征大致分为两类,包括结构特征和统计特征,至今总数已经不下百种。
要做到有的放矢,就需要研究已有的获得良好效果的各种汉字特征,分析它们的优点、缺点和适用环境。
如下列出常用的一些的汉字结构特征和汉字统计特征。
1.结构特征
(1)抽取笔画法抽取笔画法是利用汉字由笔画所构成的特点进行识别,它利用汉字的结构信息来进行汉字的联机识别,在印刷体和脱机手写识别中,由于笔画提取的困难,结果不是很理想。
(2)松弛匹配法
松弛匹配法是一种基于全局特征的匹配方法,它对输入汉字作多边近似,抽取边界线段,将这些边界线段组成临近线段表,然后用松弛匹配操作,完成边与边的匹配。
这种方法利用弹性吸收汉字的变形,一个字只用一个样本。
(3)非线性匹配法
非线性匹配法是由Tsukumo等提出的,用以解决字形的位移、笔画的变形等现象。
此方法试图克服从图形中正确抽取笔画的困难,以提高正确判别的能力。
2.统计特征
(1)笔画复杂性(ComplexityIndex)
笔画复杂性指数是指文字笔画的线段密度,其定义如下:
Cx二Ly/;
「x(1-1)
Cy二Lx/J(Il)
式(1-1)和(1-2)中
Cx、Cy一横向和纵向的笔画复杂性指数;
Lx、Ly一横向和纵向的文字线段总长度;
匚x、二y一横向和纵向质心二次矩的平方根;
Cx、Cy分别反应了横向和纵向的笔画复杂性,横多的Cx大,竖多的Cy大。
笔画复杂性指数与汉字的位移无关,受字体和字号的影响较小,但易受笔画断裂和粘连的影响,且其分类能力较差,常与另一种粗分类方法“四边码”连用。
(2)四边码(Four-sideCode
四边码是在汉字点阵图的四周各取一条带,计算其中的文字图像素点数,并
将它分成四级,构成一个四元组。
由于汉字边框不但含有丰富的结构信息,而且边框部分笔画一般较少,不易粘连,抗干扰能力强,但对汉字的位移和旋转比较敏感,与笔画复杂性指数正好形成互补。
(3)特征点
特征点提取算法的主要思想是利用字符点阵中一些有代表性的黑点(笔画)、
白点(背景)作为特征来区分不同的字符。
特征点包括笔画骨架线的端点、折点、歧点和交点,汉字的背景也含有一定的区别于其它汉字的信息,选择若干背景点
作为特征点,有利于提高系统的抗干扰能力。
其特点是能够大大压缩特征库的容量,对于内部笔画粘连字符,其识别的适应性较强、直观性好,但不易表示为矢量形式,匹配难度大,不适合作为粗分类的特征。
(4)笔段特征
汉字是由笔画组成的,而笔画又由笔段组成,笔段可近似为一定方向、长度
和宽度的矩形段。
利用笔段与笔段之间的关系组成特征对汉字进行识别,受字体
和字号的影响小,对于多体汉字的识别获得了良好效果。
其缺点是笔段的提取会较为困难,匹配的难度大,抗内部笔画断裂或者粘连能力差。
1.2.3汉字识别分类
1.相关匹配
这是一种统计识别方法,它通过在特征空间中计算输入特征向量与各模板向量之间的距离进行分类判决。
(2)文法分析
文法分析的基本思想是将输入的汉字看作是一个语句或符号串,将识别问题
转化为判断输入的语句是否属于某种语言,即句子是否符合某种语言的语法约束条件。
(3)松弛匹配
无论是相关匹配还是文法分析,都要求输入特征向量和模板特征向量的各分量之间具有确切的对应关系,然而在结构分析中,往往事先难以确定两者各分量间的对应关系,此时可以采用松弛匹配法。
松
(4)人工神经网络
汉字识别是一个非常活跃的分支,不断有新的方法涌现出来,为汉字识别的研究注入新的活力,其中基于人工神经网络的识别方法是非常引人注目的方向。
目前神经网络理论的应用己经渗透到各个领域,并在模式识别、智能控制、计算机视觉、自适应滤波和信号处理、非线性优化、自动目标识别,连续语音识别、声纳信号的处理、知识处理、传感技术与机器人、生物等领域都有广泛地应用。
1.2.4后处理
后处理就是利用相关算法对识别后的汉字文本或者初级识别结果做进一步的处理,纠正误识的汉字,给出拒识的汉字,确定模棱两可的汉字。
汉字识别的后处理方法[12,13]从用户的参与程度来说,可分为三类:
手工处理,交互式处理和计算机自动处理。
以下对各种常用的后处理方法做简单的介绍。
(1)简单的词匹配简单的词匹配就是利用文本中字的上下文匹配关系和词的使用频度,给识别后文本中的拒识字提供一个“最佳”的候选字,其关键是建立汉语词条数据库。
(2)综合词匹配
综合词匹配方法,就是综合利用初级识别结果和字的上下文关系及词的使用频度,来决定最后的识别结果。
这种方法实际上己把识别过程和后处理过程融为一体了。
(3)词法分析语言是语音和意义的结合体。
语素是最小的语言单位。
无论是词还是短语,都有其构成规则,利用这些规则,将它们分类。
另外,不同的应用背景,也有不同的分类结果。
(4)句法、语义分析语句无论是从结构上,还是从意思上都有一种人类共同理解、共同接受和共同遵守的语言组合法则。
所以利用语义句法的方法,在初级识别结果的基础上,在利用词法分析进行匹配之后或匹配的同时,再进行句法分析和语义分析,从而确定要识别的汉字。
(5)人工神经元网络利用人工神经元网络的汉字识别后处理可以采取两种方式。
一种是把识别过程和后处理过程分开,网络的输入是初级识别结果的短语或者句子,其中包含不确定的汉字(或拒识的汉字),通过网络的运行,最终确定这些字。
另一种方法是把识别过程和后处理过程综合在一起,初级识别给出的结果是每一个待识汉字的前几个候选字和每一候选字与待识字之间的相似度。
然后,把这些候选字以及与之相连的相似度输入网络,通过网络的并行作用,找到最符合汉语语法和语义组合关系的词或句子,从而确定出要识别的汉字。
1.3印刷体汉字识别技术分析
1.3.1结构模式识别方法
汉字的数量巨大,结构复杂,但其特殊的组成结构中蕴藏着相当严的规律[14]。
从笔画上讲,汉字有包括横、竖、撇、捺、点、折、勾等七种基本笔画,还有提挑、撇点、横捺等七种变形笔画。
从部件上讲,部件是有特殊的笔画组合而成,故部件也是一定的。
换而言之,汉字图形具有丰富的有规律可循的结构信息,可
以设法提取含有这些信息的结构特征和组字规律,将它们作为汉字识别的依据。
这就是结构模式识别。
结构模式识别理论在20世纪70年代初形成,是早期汉字识别研究的主要方法。
其思想是直接从字符的轮廓或骨架上提取的字符像素分布特征,如笔画、圈、端点、节点、弧、突起、凹陷等多个基元组合,再用结构方法描述基元组合所代表的结构和关系。
通常抽取笔段或基本笔画作为基元,由这些基元组合及其相互关系完全可以精确地对汉字加以描述,最后利用形式语言及自动机理论进行文法推断,即识别。
结构模式识别方法的主要优点在于对字体变化的适应性强,
区分相似字能力强;
缺点是抗干扰能力差,从汉字图像中精确的抽取基元、轮廓、特征点比较困难,匹配过程复杂。
因此,有人采用汉字轮廓结构信息作为特征,但这一方案需要进行松弛迭代匹配,耗时太长,而且对于笔画较模糊的汉字图像,抽取轮廓会遇到极大困难。
也有些学者采用抽取汉字图像中关键特征点来描述汉字但是特征点的抽取易受噪声点、笔画的粘连与断裂等影响。
总之单纯采用结构模式识别方法的脱机手写汉字识别系统,识别率较低。
1.3.2统计模式识别方法
统计模式识别方法是用概率统计模型提取待识别汉字的特征向量,然后根据
决策函数进行分类,识别就是判别待识汉字的特征向量属于哪一类。
常用的判别准则是距离准则和类似度准则,典型的统计模式识别方法有最小距离分类、最邻近分类等。
1.最小距离分类
最小距离分类器(Minimum-DistaneeClassifier)是以汉字与特征空间模型点之间的距离作为分类准则,它有着图3-2所描述的结构。
其中,x是输入特征向量,他将被分配到C个类别中的某一个类心(k=1,2,…,C),这些类有各自的典型模式mk表示。
图1-2最小距离分类器系统图
2.最邻近分类
最邻近法的思想是对于C个类别•‘i(i=1,2,…,C),每类有标明类别的样本Ni个(i=1,2,…,C)。
规定⑷i的判别函数如式(1-1)所示。
其中Xik的角标i表示」类,k表示」类Ni个样本中的第k个。
gi(x)=min|x—Xik|,k=1,2;
"
L,rii(1-3)
gj(x)“ingi(i),i=1,2/,C,(1-4)
若式(1-2)成立,则决策x「・j。
即对未知样本x,比较x与N个已知类别的样本之间的欧式距离并决策x与离它最近的样本同类。
常用的汉字统计模式识别方法包括:
(1)模板匹配
(2)利用变换特征的方法
(3)笔画方向特征
(4)外围特征
(5)特征点特征
随着汉字识别技术的发展,已经有越来越多的统计特征出现。
但几乎每种特征都不是完美的,都要在特殊条件下施加一些特殊的处理
2.系统的实现与仿真
2.1系统的实现
印刷品上的汉字输入,经过预处理后,对照标准汉字修补缺损部分,用修补后的汉字进行学习,形成初始的特征库后再进行大量样本的学习,建立实用的特征库。
系统在识别过程中可进行自学习。
取标准汉字,对每一个汉字计算面积。
所有按面积由小到大排列,建立每一汉字与其国标码的指针。
对神经网络设置其初始权值,选取大量标准汉字训练网络,反复修改权值,直至与面积序号对应的输出为有效,并建立每一输出与面积特征库之间的连接关系。
以后随着学习过程
的进行,将建立动态调整面积特征库及其与神经网络之间的对应关系。
系统共包
括5个子功能模块(见图2-1)。
印刷体汉字识别系统
图2-1系统模块图
图2-2系统流程框图
系统的工作流程如图2-2所示,文件首先由文件管理器加载。
送人图像处理模块,经二值化转灰度,均值滤波,二值化,行字切分等图像预处理操作后。
得到待识文字的点阵,汉字识别模块从点阵中提取识别特征,通过十三点特征提取,精确匹配得出识别结果。
2.2系统的仿真
此次采用MATLAB进行系统仿真(Matlab仿真程序见附录1),其中学习功能使用sim函数实现,特征提取用十三点特征提取法。
y=sim(net,P_tes);
%用训练出来的神经网络计算数据的第P_test行;
其中net是SIMULINK的模型名(神经网络的对象见附录2);
P_test是外部输入向量。
十三点特征提取法:
首先把字符平均分成8份,统计每一份内黑色像素点的个数作为8个特征,然后统计水平方向中间两列和竖直方向中间两列的黑色像素点的个数作为4个
特征,最后统计所有黑色像素点的个数作为第13个特征。
也就是说,画4道线,
统计穿过的黑色像素的数目。
可以得到4个特征。
最后,将字符图像的全部黑色像素的数目的总和作为一个特征。
十三点特征提取法有着极好的适应性,但是由于特征点的数目太少所以在样本训练的时候比较难收敛。
系统首先对标准图像(见图2-3)进行识别,识别过程中转灰度(见图2-4),均值滤(见图2-5),二值化(见图2-6),波识别结果见图(2-7)。
图2-3标准图像
r^rr^ir^i
图2-4标准图像转灰度图像
图2-5标准图像均值滤波图像
匣圉图国盅匡盏固监盂盒团盈団盔因
图2-6标准图像二值化图像
im1.jp:
咱im2.jpg\ni3.\pqimJ.jpgiri5.jpgim6.jpgim7.jpgimS.jpg
匣圉图国盅匡盏固
im10jpgiml1jpgim12.jpg(m13jpgim14.jpgim15jpgiml6.jpg
图2-7标准图像识别结果
通过对标准图像识别学习训练,然后对输入乱序图像(见图2-8)进行识别,过程中转灰度(见图2-9),均值滤波(见图2-10),二值化(见图2-11),识别结果(见图2-12)。
盔团盏图盒国匣因匡固盅盈盂监団圉
图2-8乱序图像
图2-9乱序图像转灰度图像
图2-10乱序图像均值滤波图像
盔团蓋图盒国匣因匡固盅盈盂监団圉
图2-11乱序图像二值化图像
imljpgim2.jpgjnn3.jpgim4.jpgim5jpgimGjpgim7.jpgimEjpg盂鹵盏屋I盒HIME
irr9.jpgim10jpgijp0inn12.jpgim13jpg
匡固盅盈盂
图2-12乱序图像识别结果
由以上实验结果可以看出,当输入标准图像,经过转灰度,均值滤波,二值化,识别输
出。
然后,输入乱序图像在经过转灰度,均值滤波,二值化,特征提取,匹配识别后,系统能够将乱序图像中的图像识别输出。
说明系统基本实现预先设想的功能,能够在学习标准图
像识别后建立标准库,并根据标准字库与以后输入的图像进行匹配识别输出。
但由于系统比
较简单,实现的功能也比较单一,要想实现较完备功能还需进一步完善。
%乱序图像识别:
loadbp;
G=imread('
luanxv.jpg'
);
%读取I=rgb2gray(G);
%转灰度图象
B1=filter2(fspecial('
average'
3),I)/255;
%以[3,3]为模板均值滤波
%均值滤波
d=im2bw(B1,0.5);
%二值
k1=1;
k2=1;
s=sum(d'
j=2;
a=1;
c=1
[m,n]=size(d'
whiles(j)==m
j=j+1;
end
k1=j;
whiles(j)~=m&
&
j<
=n-1
k2=j-1;
d=d((k1:
k2),:
%行分割
[m,n]=size(d);
k1=1;
s=sum(d);
fora=1:
16
=n-1j=j+1;
3.附录
附录1
y=sim(net,P_test);
%用训练出来的神经网络计算数据的第%P_test行
word=jieguoxianshi(y)
%第1个字符
ifc==2
b2=d(:
(k1:
k2));
imwrite(b2,'
im2.jpg'
t2=tezhengtiqu(b2);
%用十三点特征提取法提取特征
P_test=[t2];
y=sim(net,P_test'
%用训练出来的神经网络计算数据的
%第P_test行
%第2个字符
ifc==3
b3=d(:
imwrite(b3,'
im3.jpg'
t3=tezhengtiqu(b3);
P_test=[t3];
word=jieguoxianshi(y)end
%第3个字符
ifc==4
b4=d(:
imwrite(b4,'
im4.jpg'
t4=tezhengtiqu(b4);
P_test=[t4];
%第4个字符
ifc==5
b5=d(:
imwrite(b5,'
im5.jpg'
%第5个字符
ifc==6b6=d(:
imwrite(b6,'
im6.jpg'
t6=tezhengtiqu(b6);
P_test=[t6];
%第6个字符
ifc==7b7=d(:
imwrite(b7,'
im7.jpg'
t7=tezhengtiqu(b7);
P_test=[t7];
%第7个字符
ifc==8b8=d(:
imwrite(b8,'
im8.jpg'
t8=tezhengtiqu(b8);
P_test=[t8];
%第8个字符
ifc==9b9=d(:
imwrite(b9,'
im9.jpg'
t9=tezhengtiqu(b9);
P_test=[t9];
t10=tezhengtiqu(b10);
P_test=[t10];
word=jieguoxianshi(y)end
%第10个字符
ifc==11
b11=d(:
imwrite(b11,'
im11.jpg'
t11=tezhengtiqu(b11);
P_test=[t11];
%第11个字符
ifc==12
b12=d(:
imwrite(b12,'
im12.jpg'
t12=tezhengtiqu(b12);
P_test=[t12];
%第12个字符
ifc==13
b13=d(:
imwrite(b13,'
im13.jpg'
t13=tezhengtiqu(b13);
P_test=[t13];
%第13个字符
ifc==14
b14=d(:
imwrite(b14,'
im14.jpg'
t14=tezhengtiqu(b14);
P_test=[t14];
%第14个字符
ifc==15