APP下载

基于Hough变换的手写体维文字符倾斜校正算法

2013-02-21卢朝阳

网络安全与数据管理 2013年8期
关键词:手写体小格字符

姜 文,卢朝阳,李 静

(西安电子科技大学 通信工程学院,陕西 西安710071)

近年来,随着科技的发展,手机的应用范围越来越广泛,这就给手机终端上的手写输入以及手写识别提供了很大的发展空间。目前,国内手机上的中文手写输入技术发展很迅速,国外关于英文、阿拉伯文等文字的手机终端手写输入技术已经发展得比较成熟了。我国新疆地区的少数民族文字——维吾尔族文字与阿拉伯文非常相似,可以借鉴阿拉伯文手机终端的手写输入技术。不同的人有不同的书写风格,造成手写体维吾尔文有很大的随意性;而且受手机屏幕大小的限制,导致手机终端上手写的维文字符会产生一定的倾斜度。进行联机和脱机维文字符的特征提取和识别[1]之前都需要对手写体维文字符进行倾斜校正。

目前,比较常用的倾斜检测方法有基于Hough变换的方法[2]、基于交叉相关性的方法、行间距跨度相关法[3]、基于 Fourier变换的方法[3]、基于投影的方法[3]和 K-最近邻簇的方法等。

本文基于Hough变换检测字符倾斜角度,利用Hough变换对灰度化之后的倾斜字符提取字符的基线,根据基线并结合维文字符的书写特点,利用旋转变换对手写体维文字符进行倾斜校正。

1 手写体维文字符的特征

1.1 手写体维文字符的特征

手写体维文字符具有如下独特的特征[4]。

(1)维吾尔文由32个基本字符组成,其中包括8个原音字符和24个辅音字符。

(2)根据每一个字符出现的位置不同(词首、词中、词末等),通常可以分为独立、前连、前后连和后连4种书写形式,因此,维文字符有120多种书写形式。

(3)维文字符书写时笔画连续流畅,根据从右向左的方向书写,主体笔划方向特征明显。

(4)维文字符的笔划较少,许多字符的主体笔划相同,仅仅根据不同的附加笔划来区分,附加部分与字符主体上、下不粘连。一般地,主体笔划是沿着基线书写的,而附加笔划在基线的上方或下方分布,所以基线可以作为区分附加笔画位置的参考线。

1.2 维文字符的分类

维文字符的120多种形式是以32个基本字符为基础的,是根据字符处于词的不同位置而变换出来的。对32个基本字符按照基线进行分类,其中基线为垂直线的有9个,基线为水平线的有22个,其他1个。

2 基于Hough的倾斜检测算法

2.1 Hough变换原理

Hough变换的原理[2,4]是:利用图像空间和 Hough参数空间的点-线对偶性,将图像空间的检测问题转换到参数空间。通过在参数空间里进行简单的累加统计,再根据概率最大原理得到图像空间的一些特性,最后将数据映射回图像空间。Hough变换检测受干扰的影响较小,是一种快速的直线检测方法。在实际应用中,通常图像平面上的一个点就对应到参数r-θ平面上的一条曲线上。如图1所示,直线与原点的法线距离为r,法线与x轴的夹角为θ,直线上的每个点都满足:

r=x×cosθ+y×sinθ (1)

计算Hough变换的方法是将r-θ域量化成许多小格,如表 1所示。

对于每一个点 (x0,y0) 代入 θ的量化值,算出 r(经量化)落在哪个小格内,便对该小格的计数累加器加 1。当全部点(x,y)变换后,对小格进行检验,计数较大的小格对应共线点,其(r,θ)可用作直线拟合参数;计数较小的小格一般反映非共线点,丢弃不用。

表 1 r-θ量化表

如果r和θ量化得太粗糙,则参数空间的凝聚效果差,找不到直线准确的 r、θ值;相反,如果 r、θ量化得过细,则计算量将增大,因此需兼顾这两方面,取合适的量化值。

2.2 手写体维文字符双线倾斜检测算法

Hough变换在检测过程中抗干扰性好,它利用图像空间目标像素的坐标去计算参数空间中参考点的可能轨迹,是一种很好的直线提取方法。

2.2.1 维文字符预处理

进行Hough变化之前还需要对字符图像进行预处理,包括灰度化和细化两个过程。

(1)对字符图像进行灰度化。将24色位图格式的倾斜维文字符图像转换成256色的灰度图像,并进行去噪处理。

(2)通过细化,对字符图像进行骨架提取。

2.2.2 手写体维文字符双线倾斜检测算法

算法过程如下:

(1)初始化一块内存区域分配给(r,θ)变换域,存储参数(r,θ)对应的累加数据,将 θ的取值范围定为 0°~180°,定义 r的最大值的表达式为:(其中,lWidth、lHeight分别表示字符图像的高度和宽度),分配 r×180×sizeof(int)字节的内存区域作为 θ变换域。

(2)对字符图像中的所有点(i,j)进行 Hough变换,将角度 θ取值范围分为(0°,90°)和(91°,180°)两个区间,当θ 在 (0°,90°) 范围时,r=i×cos(θ×π/180°)+j×sin(θ×π/180°);而 θ在 (91°,180°)范围 时,r=i×cos((180°-θ)×π/180°)+(lHeight-j)×sin((180°-θ)×π/180°);然后将变换域中(r,θ)对应的计数累加器加 1。

(3)经过 Hough变换之后,在(r,θ)变换域中找出最大值,由最大值在变换域中的位置确定参数r和θ,其中θ就是检测到的第一个倾斜角α。

(4)完成第一个倾斜角度的提取之后,将(r,θ)变换域中最大值附近数值清零,继续在(r,θ)变换域中寻找第二个最大值,提取第二个倾斜角β。

(5)将角度α和β转换为检测出来的直线与水平线的夹角。

把两条检测出来的直线绘制在字符图像中,结果如图2所示。

2.3 维文字符的倾斜校正

根据检测出的倾斜角度α和β,对维文字符进行旋转变换,实现字符的倾斜校正。

3 实验结果与分析

实验利用Visual Studio 2008为平台编写程序来实现基于Hough变换的维文字符的倾斜校正。大多数手写体字符的倾斜校正角度在[-45°,45°]之间,少数手写体字符的倾斜校正角度超出这个范围。以水平基线或者垂直基线为轴进行校正,校正结果与印刷体原图的对比如图 3、图 4所示。

一些字符使用基于水平或者垂直基线进行校正之后,仍不能得到理想的效果。为了解决这一特殊情况,根据双线检测提取出两个倾斜角度,可采用角平分线法,即将Hough变换检测到的两条直线的角平分线作为基线进行倾斜校正。利用角平分线法进行校正的结果如图5、图 6所示。

可以看出,与单纯使用水平基线或垂直基线作为旋转轴相比,使用角平分线法对倾斜维文字符进行校正,倾斜度有了明显的改善。

对480幅倾斜手写体图像进行字符校正,结果如表2和表3所示,其中表3根据基线的检测次序分类,表3根据基线的方向分类。

本文根据维文字符的书写特点和字符基线位置的不同对字符进行分类;对经过预处理的维文手写体字符采用基于Hough变换的双线倾斜校正算法提取倾斜角度。用该算法校正了480幅不同的手写体维文字符,得到了满意的效果。国内外均有文献研究手写体数字的倾斜校正[5],本文算法也可用于手写体数字的倾斜校正。此外,该算法也可用于处于倾斜状态的印刷体维文字符和印刷体数字的倾斜校正。

表2 根据基线的检测次序分类

表3 根据基线的方向分类

[1]任宏宇,袁保社,田园.基于BP神经网络的维吾尔联机手写字符识别[J].微电子学与计算机,2010,27(8):238-241.

[2]MAHMOUD A,SHATNAWI A,OMAR K.Skew detection and correction technique for arabic document images based on centre of gravity[J].Journal of Computer Science,2009,21(3):363-368.

[3]李政,杨扬,颉斌,等.一种基于 Hough变换的文档图像倾斜纠正方法[J].计算机应用,2005,25(3):583-585.

[4]万芳.联机手写维吾尔文字识别技术的研究与实现[D].乌鲁木齐:新疆大学,2007.

[5]王有伟,刘捷.手写体数字识别中的一种新的倾斜校正的 方 法[J].计 算 机 工 程 ,2004,30(11):128-130.

猜你喜欢

手写体小格字符
基于大数据下的手写体识别的设计与研发
披着书法外衣的手写体
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
HBM电子称与西门子S7-200系列PLC自由口通讯
对维吾尔语手写体在线计算机识别技术的几点探讨
林小格,下一站春暖花开
林小格,下一站春暖花开
模糊聚类算法下的手写体数字识别