基于最小包围矩形的书法字图像校正
2019-06-06陆婷婷杨长强
陆婷婷 杨长强
摘 要:在运用计算机对书法字评价时,首先需要采用扫描或拍照的方法将书法字以图像格式输入计算机,但在该过程中往往因为拍摄角度造成书法字歪斜,传统书法字评价方法需要人工干预才能完成书法字图像校正,因此采用基于最小包围矩形的方法对歪斜的书法字图像进行校正。首先提取待测书法字与标准书法字的独立笔画,对每个独立笔画进行基于细化的矢量化,得到矢量化骨架,并通过旋转待测书法字骨架得到骨架包围矩形,根据最小包围矩形可以得知图像校正需要的旋转角度,通过逆旋转进行待测书法字图像校正。实验结果表明,采用该方法可以便捷有效地对书法字图像进行方向校正。
关键词:书法字;骨架;矢量化;最小包围矩形;校正
DOI:10. 11907/rjdk. 191044
中图分类号:TP317.4文献标识码:A文章编号:1672-7800(2019)003-0183-04
0 引言
根据中国书法等级考试要求[1],达到书法初级水平指通过书法初步临摹,学习书法书写基本笔法,对汉字书写达到点画准确、比例得当。因此书法等级考试是一种以临摹为主要考察对象的考试。临摹质量评价主要以学习者书写的字与字帖标准字的相似度为依据。学习者在日常临摹过程中,缺乏专业老师指导,往往对临摹结果没有正确的认知,导致学习者可能进行低效的重复,因此,需要运用计算机辅助教学(Computer Aided Instruction,CAI)相关技术对学习者书法字进行评价。
汉字由单独笔画组合而来,对书法字进行评价时可对笔画轮廓、骨架及数量与笔画整体分布进行特征提取,通过提取到的特征对书法字进行相似度判断。庄越挺[2]、万华林等[3]提出根据图像纹理、颜色等特征比较图像相似度[4];刘洋[5]从书法字结构特征、笔画级形态及笔画内部形态提取布局特征,判定书法字真伪;简丽琼[6]提出一种基于图像的Zernike 矩和Hu矩,并应用K近邻方法识别文字;陈颉[7]提出基于骨架结构相似性分层特征的匹配方法;李牧[8]从临帖字体结体特征、点画形态进行骨架相似度判断;耿晓艳等[9]依据汉字属性特征,通过神经网络建立评价模型进行汉字品质判断;吴楚洲[10]对提取出的骨架进行九宫格切分,基于Hu矩对骨架进行相似度研究。但书写者书写的字往往是扫描或拍照后以图像文件输入计算机,在输入过程中可能会因为拍照或扫描角度造成书法字倾斜;且初学者在书写时如果书写姿势不正确,也会在视角上造成一定影响。比如,当书写者身体歪斜时,书写的字可能也会歪斜,导致对书法字评价造成障碍,对评价结果造成一定影响,虽经人工方式对文字图像倾斜程度进行校正,但也会存在一些肉眼无法分辨的小误差。
针对传统评价方法需要人工干预图像矫正的问题,本文首先提取待测书法字与标准书法字的独立笔画,对每个独立笔画进行基于细化的矢量化,从而得到矢量化骨架,再通过旋转待测书法字骨架得到骨架包围矩形,根据最小包围矩形可以得到图像校正旋转角度,通过逆旋转进行待测书法字图像校正。
1 书法字图像预处理
书法字使用毛笔进行书写,而毛笔笔头是用各种兽毛为原料制成。因此在书写过程中往往会产生一些空隙及毛刺。同时,在书法字图像数字化和传输过程中不可避免地会产生一些噪音,所以书法字图像处理应首先从书法字去噪、优化开始[11]。
1.1 书法字图像去噪
图像去噪方法可分为基于空间域与基于频域两种方法[12],需利用线性平滑滤波器、中值滤波器及空余低通滤波器。本文采用中值滤波法对书法字进行去噪处理,中值滤波器选择区域中值作为目标像素值,用奇数点滑动窗口中所有点的中值代替中心点像素值,从而去掉图像小孔,这样不僅可以有效去除书法字图像噪音,同时可有效避免图像模糊问题。图1、图2分别是去噪前后的书法字图像,可以看到较为明显的变化。
1.2 书法字图像二值化
对毛笔字图像笔画进行处理前需要对书法字图像进行二值化处理,将图像中所有像素点的值仅取0与255两个数值,则图像仅由纯黑或纯白构成,图像能够真正呈现出黑白效果,将字体与背景清楚地分离开来[13]。本文采用直方图法处理书法字图像。对书法字图像绘制直方图,从直方图中找到图像的两个最高峰,选择两个最高峰间的波谷作为阈值,即可将书法字图像背景与字体清晰隔开。为用直方图法进行二值化处理后的书法字图像如图3所示。
1.3 基于数学形态学方法的书法字图像优化
数学形态学是一门以形态结构元素为基础的图像分析类学科,主要从集合论或形态的角度分析图像[14]。本文主要使用腐蚀、膨胀、开运算及闭运算[15],即将书法字图像经过二值化后得到的矩阵与特定掩膜矩阵循环进行腐蚀与膨胀运算,通过不断对二值书法字图像进行“与”操作和“或”操作,填充有小孔的书法字图像[16],如图4所示。
2 书法字图像校正
采用拍照或者扫描的方法将书法字图像输入计算机时,图像多以栅格图的形式存储,存储空间大且旋转拉伸会导致失真。图像校正时需避免图像因旋转而造成的失真,图像矢量化可以有效解决失真问题。本文首先获取书法字的独立笔画,再对笔画进行基于细化的矢量化,而后通过旋转矢量化后的骨架获取矢量骨架最小包围矩形,通过对比标准字与待测字笔画的笔画夹角与差,得到骨架旋转角度,从而获得图像校正角度,即可校正书法字图像。
2.1 笔画提取
目前笔画提取算法大致分为3类,分别为:基于书法字骨架的笔画提取方法、基于书法字轮廓的笔画提取方法以及基于书法字笔画分段的笔画提取方法[17]。基于书法字骨架的笔画处理方法是在骨架基础上进行笔画提取,虽然计算量相对减少,但在骨架提取时,在交叉点处容易产生畸变,导致提取的笔画不完整;基于书法字轮廓的笔画提取方法可以清晰且完整地提取出书法字形状,但往往因为轮廓不完整性导致特征点选取不足,从而导致提取失败;传统基于笔画分段的笔画提取方法需要进行大量计算,且效果不佳。本文采用基于BP神经网络与CFER(Chinese Character Corner Relation)角点检测的书法字笔画提取算法,将书法字分割成端点区域、交叉点区域与普通区域,并得到交叉区域中心区及笔画拐点,连接拐点即可切割书法字各个笔画。
具体步骤包括:先计算预处理后的书法字图像中每个像素点到书法字轮廓边界的方向距离,即书法图像每个像素点均以3°为单位,从0°~360°计算像素点到边界的距离,然后运用BP神经网络进行训练,得到BP神经网络优化模型,即可识别待测书法字的端点区域、普通点区域与交叉点区域;再比较交叉区域中各像素点到书法字上、下、左、右边缘的距离与像素点到书法字左上、左下、右上、右下的距离,横竖交叉区域应是“>”,撇捺交叉区域则为“<”,通过距离比较进行筛选,从而得到笔画交叉区域中心区;计算出中心区域顶点,进一步确认4个角点,连接对应角点进行切割得到书法字独立笔画[18]。
本文在得到独立笔画后,用一个两位的数字对笔画进行排序命名。根据笔画第一笔,对笔画进行划分,分为:横、竖、撇、捺、提、点,分别对应两位数第一位的1-6笔。再对笔画长短进行笔画排序,对应两位数的第二位数字。
标准字与待测字切割后的独立笔画及其命名如图5、图6所示。
2.2 骨架矢量化
图像存储主要有栅格图像与矢量图像两种格式。栅格图像,也叫位图、像素图,是最小单位由像素构成的图,以点阵的方式存取图像文件,每个像素既要存储颜色信息也要存储位置信息。矢量图像也叫面对对象的图像,用数学方式存储图像,被定义为一系列有线连接的点。目前关于数字图像处理的质量要求越来越严格,矢量图相对于栅格图具有较为明显的优点。栅格图以像素为单位存取图像,在图像较大时,需要大量存储空间;而矢量图以几何特性绘制图像,使用的存储空间较小,并且矢量图更加容易进行编辑,同时在对矢量图进行放大或者压缩时,可保证稳定的图片质量,不会出现失真、模糊现象,具有设备无关性。
将栅格图像进行矢量化处理,现有算法可以根据矢量化之前是否对曲线进行细化处理而分为两类:基于细化的方法和基于非细化的方法[19]。基于非细化的方法是在曲线宽度信息全部保留的基础上对曲线进行直接处理,比较典型的算法有:基于稀疏像素的方法、正交方向搜索法、基于网格模式的方法等。基于细化的方法先对图像进行细化处理,从而得到单像素线宽中心线,再根据Hough变换[20]与游程编码[21]等方法进行图像矢量化。Hough变换将图像空间中的检测问题转换到参数空间间接解决,具有很好的抗噪声能力,同时可以进行并行处理;基于游程编码的算法则是用游程编码表示图像中的曲线,通过游程编码进一步分析线段连接方式,从而最终将提取的特征点拟合成折线作为最终矢量结果。该方法可以完整保存书法字图线的结构信息,能有效、快捷地对书法字图像线段进行矢量化追踪。
书法字主要从书法字骨架与轮廓两方面反映其特征。书法字骨架是书法字的中心线条,可以很好地反映书法字笔画的拓扑关系,且存储方便,同时减少了数据量。书法字轮廓虽然可以清晰且完整地提取出书法字形状,但往往需要大量计算。本文在骨架的基础上进行书法字图像校正,不仅可对书法字图像进行有效校正,还可减少计算量、提高效率。本文采用基于细化的方法对书法字图像切割后的独立笔画分别进行矢量化,得到书法字完整矢量骨架图像。对标准书法字图像与待测书法字图像分别进行矢量化,得到矢量化后的骨架结构(见图7、图8)。
2.3 骨架最小包围矩形
因为造成书法字图像倾斜的原因是偶然且不可控的,所以待测字图像可能出现的倾斜角度也不确定,即校正之前并不知道书法字图像倾斜角度,无法确定书法字图像校正时所需角度与校正方向。处理书法字图像的歪斜问题之前往往采用人工干预的方式进行校正,但人工干预常造成一些肉眼无法分辨的小误差,导致对后续书法字评价形成一定干扰。为避免人工干预造成的误差,本文采用获取矢量骨架最小包围矩形的方法,该方法可将书法字包围起来,形成面积最小的矩形,通过最小包围矩形对应的矢量骨架旋转角度间接得到图像旋转角度及方向。将矢量化后的骨架用一个矩形包围起来时,需保证矩形4个边均紧挨着骨架。旋转骨架时,矩形长宽也将随着骨架变化而变化。此时,矩形包围的面积也会随着骨架旋转变化,则有一个旋转角度可以使包围骨架的矩形面积最小,最小面积包围矩形对应的矢量骨架旋转角度即为图像需旋转的角度,旋转方向与最小包围矩形的矢量骨架旋转方向相反。具体步骤如下:
(1)以矢量骨架图最左端点与最右端点的差作为矩形的宽,以最上端点与最下端点的差作为矩形的高,构成一个矩形(见图9),使矩形4条边紧挨骨架,并按式(1)计算矩形面积[S]。
本文待测字图像经过360°旋转,可以看出旋转77°、167°、257°与347°时最小包围矩形面积最小。将待测字图片按照此时最小包围矩形裁剪,得到4个新待测字图像,如图10-图13所示。因为本文已将书法字骨架图像矢量化,所以可以直接对得到的最小包围矩形骨架图像与标准字图像进行拉伸,不会出现失真问题。将待测书法字进行最小包围矩形处理后得到的4个图像与处理后的标准书法字图像(见图14)分别拉伸至同样大小。
2.4 书法字校正
3 结语
本文针对在书法字图像录入时图像倾斜的问题,提出基于最小包围矩形的书法字图像校正方法。首先通过基于BP神经网络与CFER角点检测的书法字笔画提取算法获得书法字独立笔画,然后通过基于细化的矢量化得到矢量化骨架,再根据骨架最小包围矩形对图像进行修改处理,从而实现较为理想的处理效果。虽然该方法在一定程度上也因骨架提取精度不很理想而影响了图像处理效果,但整体上具有处理精度较高、操作简便等优点,可有效解决书法字图像录入时倾斜的问题,对书法字书写评价等实际文字图像处理工作具有较为实际的指导意义。
參考文献:
[1] 佚名. 中国书画等级考试[J]. 中国考试,2006(11):63-64.
[2] 庄越挺,潘去鹤. 网上多媒体信息分析与检索[M]. 北京:清华大学出版社,2002.
[3] 万华林,CHOWDHURY M U,胡宏,等. 图像纹理特征及其在CBIR中的应用[J]. 计算机辅助设计与图形学学报,2003,15(2):195-199.
[4] VELTKAMP R C,HAGEDOORN M. State of the art in shape matching[M]. Beling:Springer-Verlag, 2001.
[5] 刘洋. 计算机辅助书法作品真伪鉴别[D]. 南昌:南昌大学,2013.
[6] 简丽琼. 基于Hu矩和Zernike矩的文字识别[J]. 科技信息,2009(17):62-63.
[7] 陈颉,朱福喜. 根据骨架结构相似性的书法内容分层检索[J]. 小型微型计算机系统,2010,31(1):137-142.
[8] 李牧. 书法临帖计算机评价的研究[D]. 广州:华南理工大学,2013.
[9] 耿晓艳,许维胜,吴继伟. 基于神经网络的汉字质量量化评价模型[J]. 計算机与现代化,2014(1):96-99.
[10] 吴楚洲. 书法临帖评价系统研究与实现[D]. 广州:华南理工大学,2017.
[11] 徐颂华. 中国书画艺术电子化创作的初步算法性探索——美、智能与计算[D]. 杭州:浙江大学,2007.
[12] 杨琦. 毛笔书法中笔画的提取[D]. 青岛:山东科技大学, 2015.
[13] ZHANG X,ZHUANG Y. Visual verification of historical Chinese calligraphy works[C]. International Conference on Multimedia Modeling, 2007.
[14] 崔屹. 图像处理与分析-数学形态学方法及应用[M]. 北京:科学出版社,2000.
[15] 任获荣. 数学形态学及其应用[D]. 西安:西安电子科技大学,2004.
[16] 俞凯,吴江琴,庄越挺. 基于骨架相似性的书法字检索[J]. 计算机辅助设计与图形学学报,2009,21(6):746-751.
[17] 陈睿,唐雁,邱玉辉. 基于笔画段分割和组合的汉字笔画提取模型[J]. 计算机科学,2003,30(10):74-77.
[18] 张阳. 基于BP神经网络的毛笔字笔画提取[D]. 青岛:山东科技大学,2018.
[19] 田玉敏,刘国景. 光栅图形矢量化方法分析与评价[J]. 计算机应用研究,2002,19(3):6-8.
[20] CHIA Y S,RAHARDJA S,RAJAN D,et al. Object recognition by discriminative combinations of line segments and ellipses[C]. IEEE Conference on Computer Vision and Pattern Recognition,2010:2225-2232.
[21] 沈定涛,张治中,陈蓓青,等. 基于实值游程编码运算的典型空间分析方法研究[J]. 人民长江, 2012, 43(8):12-17.
(责任编辑:江 艳)