基于计算机图像处理的书法笔画特征提取

2010-09-15 02:18胡晓彤
天津科技大学学报 2010年5期
关键词:拐点端点曲率

郭 晨,胡晓彤

(天津科技大学计算机科学与信息工程学院,天津 300222)

基于计算机图像处理的书法笔画特征提取

郭 晨,胡晓彤

(天津科技大学计算机科学与信息工程学院,天津 300222)

提出一种利用计算机图像处理技术进行楷书基本笔画特征提取的方法.从书法笔画图像细化得到笔画骨架出发,提取笔画的全局特征和局部特征,用骨架关键点将笔画分为多个笔段,并结合书法写作特点通过对笔段内部及笔段之间特征进行分析,对书法笔画图像的形体特征选择、提取进行初步的探索.

书法;笔画;骨架;特征提取

书法是中国传统文化的结晶,近年随着计算机相关技术的迅猛发展推动了书法作品数字化的步伐,普通大众可以方便地通过互联网接触到数量众多的书法作品,其中楷书是书法学习中最常见的字体.

如今,国内对于印刷体汉字的预处理[1]和特征的研究方法[2]已经基本形成了固定的模式,并且取得了令人满意的效果.而对于毛笔楷体字,因为每个人笔法不同、书写特点因人而异,其特征提取研究的难度较大,在国内尚属起步领域,还无一套通用的特征提取方法,所以制约着对数字化楷书图像的进一步处理分析.

目前,手写体汉字的笔画提取、归一化等算法的研究已经非常成熟,如王建平的《基于手写体汉字笔画提取重构的识别方法》[3]、金连文的《一种简单有效的手写体汉字笔画粗细归一化方法》[4]等.将这些方法用于数字化楷书图像上同样取得了很好的处理效果.

本文以归一化后图像规模相同的楷体单笔画图像为研究对象,利用计算机图像处理技术提出通用于横、竖、撇、捺、点等简单笔画和竖弯钩、卧钩等复杂笔画图像的笔画形体特征提取方法,对脱机书法字的特征提取进行了探索性研究,旨在为楷体书法字的进一步具体处理打下基础.

1 书法笔画整体特征提取

对楷体笔画的形体特征提取从全局特征和局部特征两个层次进行.通过细化笔画得到笔画骨架,对骨架点处笔画宽度,骨架端点、拐点等全局特征进行提取分析;将笔画分为笔段,进而提取笔段长度、平均半径、相对扰动度等笔段内特征以及笔段间夹角、笔段转折点特征等局部特征.

在对书法笔画图像进行分析之前先进行预处理,将原始图像转换为二值化图像,笔画图像的灰度值为1,背景的灰度值为0.再对其进行去噪处理后,得到较为清晰的笔画图像.

1.1 笔画宽度特征提取

汉字笔段的提取方法有细化法、轮廓信息法、数学形态学法、小波分析法、行程长度法和段化法等.其中,细化法可以提取连通的单像素骨架,更适合书法笔画处理的特点,虽然可能造成骨架畸变,但对于畸变的校正已有非常成熟的方法,所以选择细化法进行笔画骨架提取.

笔画骨架在保留笔画大多数特征的同时丢失了笔画的粗细变化,因此,作为描述笔画特征的重要指标,需要单独提取笔画宽度.利用如图1所示最大圆法采集每个骨架点处笔画宽度[5],实现方法如下:

(1)以检测点为圆心O,初始半径R=0.

(2)圆心O固定不变,半径值R=R+1,画圆.

(3)检测圆内各像素点是否在笔画范围以内.由于笔画像素点在二值图像中值为1,所以只需检测圆内所有像素点值是否全部为1,是则转回(2),否则认为大圆已经超出笔画内部范围,跳出循环,进入下一步(4).

(4)取R=R-1为骨架点O处笔画半径,即最大圆超出笔画范围前的半径值.

该点的笔画宽度W与所得最大圆半径R有关:W=2R+1,W与R为线性关系,故在笔画宽度特征中直接使用R代替W.

图1 笔画宽度提取Fig.1 Extract width of stroke

图2为图1所示笔画的宽度信息.图中横坐标为骨架点序号,纵坐标为骨架点处的半径值.通过统计所有骨架点的半径值,可以反映该笔画的宽度变化情况.其中,曲线的上升部分对应笔画中宽度增加段,曲线下降部分对应笔画中宽度减小段.

另外,图2中曲线的斜率能够在一定程度上评价该笔画各部分的运笔情况,即骨架点宽度变宽对应书写中的按笔过程,骨架点宽度变窄对应书写中的提笔过程.曲线的斜率越大表示提笔或按笔动作越快.

图2 捺笔画宽度变化曲线Fig.2 Width curve for Nal stroke

同时,对图1所示笔画的不同笔画半径值进行统计,结果如图3所示.横坐标为宽度半径值,纵坐标为该半径值的骨架点个数.通过统计不同半径值的骨架点个数,能够全面了解该笔画宽度的分布情况.

图3 捺笔画宽度统计Fig.3 Width statistics for Nal stroke

1.2 笔画长度、斜率和弧度特征

1.2.1 笔画长度

长度特征L用来描述笔画骨架的规模.在骨架遍历的过程中,记录从一个端点到另一个端点遍历过的所有骨架点数,用骨架点数作为描述笔画总体长度的长度特征L.

1.2.2 斜率

笔画端点相对位置斜率K在一定程度上可以反映笔画的大体走势.单笔画图像都有且只有两个端点,端点连线的斜率用于描述笔画端点相对位置斜率特征.

1.2.2 弧度特征

相对扰动度特征、最大扰度点相对位置特征和弯曲度特征用于描述笔画弧度的特点.对于笔画骨架与端点连线有交点的笔画,用相对扰动度特征,最大扰动点相对位置特征相结合对笔画弧度进行描述.

提取相对扰动度之前,先根据式(1)对骨架点位于端点连线的上、下侧进行判断.行列式值>0说明骨架点在端点连线左或上侧;行列式值=0 说明骨架点是骨架与端点连线的交点;行列式值<0 说明骨架点在端点连线右或下侧.

式中:Pi是要进行判断的骨架点,坐标为(x,y);Pi-1与Pi+1是两端点,坐标为(x1,y1),(x2,y2).

相对扰动度R和最大扰度点相对位置S的定义如图4所示.

图4 相对扰动度提取示意图Fig.4 Figure of relative disturbance degree extraction

图4中Ps为运笔骨架的起点,Pe为运笔骨架的终点,l为Ps与Pe的连线,d1为Ps与Pe的距离,Puh是位于l上方的运笔骨架中到l的最大距离点,d3为Puh到l的距离,Puc为Puh在l上的投影,d2为Puc到Pe的距离.

正向相对扰动度为负向相对扰动度和负向扰度点相对位置与正向的情况描述相同.

对于笔画骨架与端点连线无交点的笔画,用笔画弯曲度特征描述:

笔画弯曲度为

2 书法笔画局部特征提取

2.1 骨架关键点提取与笔画分割

骨架两端的点称为端点.端点的提取是根据计算每个骨架点的八邻域中相邻骨架点的个数来确定的.也就是当某一骨架点的八邻域中只有一个骨架点与其相连,则认为该骨架点为端点,否则视该骨架点为非端点,端点与非端点的区别如图5所示.

图5 端点与非端点的区别Fig.5 Difference of endpoint and otherpoint

拐点是骨架点中曲率最大的点.简单笔画,如横、竖、撇、捺、点等,使用提取曲率最大点的方法提取拐点,分析发现曲率最大的骨架点都是距离端点连线距离最远的骨架点.同时,利用简单笔画的端点和所得拐点可以将笔画分割为两个小笔段.以笔画捺为例,如图6所示.

图6 笔画捺的拐点提取与分割Fig.6 Extracting inflection point and dividing for Nal stroke

另一方面,对于起收笔抖动较小的横、竖、撇、捺、点等基本笔画,提取得到拐点和两个端点共3个关键点,将笔画分为起运笔、运收笔两部分.这种情况起笔、收笔与运笔之间并无明显界限,一气呵成.因此,根据非端点关键点将笔画分为前后两段,更符合实际的审美习惯.

对于复杂笔画,如横折笔、横弯钩、竖弯钩、卧钩等笔画拐点的提取比较复杂.具体方法为循环使用上述简单拐点提取方法,进行复杂笔画的拐点提取.即首先以整个笔画的端点为起始点进行一次拐点的检测,然后将检测到的拐点作为端点进行下一级拐点的检测,直到新得到的小笔段内部拐点与所在小笔段两端点连线所成角度小于阈值,即认为该笔段弯曲程度较小无需设置拐点为止.经实验,阈值设定为0.48弧度时提取拐点的效果较好.

图7中,对卧钩多次提取拐点后得到两个拐点P1与P2.显然P1点是进行笔画分段的拐点.

图7 复杂笔画的端点、拐点提取Fig.7 Extract startpoint,endpoint,inflection point for complex strokes

对于复杂笔画,还需要对拐点提取后得到的多个拐点进行分析,以去掉对笔画分段无意义的伪拐点,如图7中P2点.

根据笔画拐点的曲率变化可以分为分割笔段级别拐点和行笔过程中拐点(伪拐点),用来区分检测到的拐点在笔画中所处位置的不同特点.具体判断方法是:将拐点与其左右各5个点进行直线拟合,用拟合直线的斜率表示该拐点处的曲率值;同时用此方法对拐点及左右各5个点进行曲率计算;在以拐点为中心,左右各5个点的邻域内对相邻两点的曲率值做差并取绝对值,比较所得的10个差值,若各差值的平均值大于阈值,则该拐点处曲率变化较大,该拐点为分割笔画级别拐点;否则,该拐点为行笔过程中的一个伪拐点.

表1所示为卧钩笔画在P1与P2两个邻域的曲率和曲率差值数据.

表1 拐点P1、P2邻域内各点曲率值及相邻点曲率差值Tab.1 Curvature value and curvature difference value between adjacent points in the neighborhood of inflection point P1,P2

P1点为卧钩的弯笔与钩笔的交接处,通过分析数据发现,以P1为中心的邻域内曲率从5.000变化到-0.758,变化幅度平均值为0.530,曲率变化幅度较大,P1为分割笔画级别拐点.P2点位于卧钩的弯笔行笔过程中,曲率变化缓慢,以P2为中心的邻域内曲率从-0.097变化到0.545,变化幅度很小,变化幅度的平均值为0.045左右,笔画走势变化不大,P2为伪拐点.

对折笔、钩笔笔画等复杂笔画通过上述方法去掉伪拐点后,可以将分段级拐点与笔画端点一起作为关键点,将笔画分段.

2.2 笔段内部特征提取

经过上述关键点提取后,可将笔画进行分段.分段后可以得到每个笔段提取笔段长度l、笔段走势k、笔段平均宽度w′、笔段弯曲度特征d等信息,作为描述该笔画的信息.

笔段长度即笔画骨架中该笔段骨架的长度,使用方向链码从笔段骨架一端起遍历至另一端,遍历经过的骨架点数加两端点的总点数为长度l.小笔段长度与笔画长度的比值s,用于描述笔段长度在笔画长度中的比例.

在笔段两个端点间作直线,计算直线的斜率作为笔段的走势方向特征,设两端的坐标分别为(x1,y1)、(x2,y2),则斜率的计算公式为笔段的宽度特征包括笔段平均宽度和笔段内宽度变化两方面.

取笔段骨架点笔画半径值平均数为笔段平均宽度w′,计算公式为

笔段的弯曲度d采用最大距离法计算,即提取笔段实际骨架到笔段端点连线的最大摆动距离为弯曲度.骨架上的拐点离端点连线距离d越大,弯曲幅度越大,反之越小.

2.3 小笔段间特征的提取

小笔段间关系特征包括:笔段间夹角、笔段间宽度变化、笔画转折类型.

首先对相邻的两个笔段分别做直线拟合,计算两条拟合直线的斜率.拟合直线有多种方法,如端点连线拟合、端点连线平移拟合、最小二乘拟合等方法,针对书法图像特点使用最小二乘法进行直线拟合.

基于最小二乘法[6]的直线拟合是对数据点(xi,yi)(i=1,2,3,…,n)作拟合y=b+ax,求出a,b使式(8)的值最小.

计算出a和b,y=b+ax即为拟合直线.通过两条拟合直线方程得到其夹角,作为相邻小笔段之间的夹角.

笔画间宽度变化,即通过比较相邻笔段的平均宽度大小将相邻笔段的宽度笔画分为宽度由大变小或由小到大两种情况.

笔段间转折类型是对书法笔画转折时有无顿笔的分析.对于普通的无顿笔转折,在其细化骨架转折处仅通过一个拐点进行转折,称为圆折.如图8(a)所示.而对于笔画转折处使用顿笔的情况,在转折处比较小的范围内存在两个拐点,称为方折,如图8(b)所示.

图8 圆折和方折Fig.8 Round turning and square turning

首先检测拐点数量,若仅有一个拐点,则该拐点两侧相邻笔段之间的转折方式为圆折.若拐点数量多于一个,则按骨架序列顺序计算各相邻拐点之间的距离,若该距离小于阈值,则认为这两个拐点及其之间的骨架点一起组成了笔画转折中的顿笔.

由于顿笔长度随笔画规模变化,所以对顿笔长度判断的阈值与笔画规模成正比.经多次实验,确定笔画长度的八分之一作为动态阈值,若两拐点之间的笔段长度小于阈值则判断该笔段为顿笔部分,笔画转折类型为方折;若两拐点之间的笔段长度大于阈值,则认为该笔段不是顿笔.

表2为对图8(b)笔画进行实验所得数据.通过分析,方折笔笔画的动态阈值=笔画长度×1/8=129×1/8=16.125>10,动态阈值>拐点相连笔段长度,检测得出两个拐点及其之间笔段组成顿笔部分,所有笔画转折特征为方折.

表2 折笔笔画长度及拐点之间距离Tab.2 Turning strokes length and distance between inflection points

3 结 语

本文利用计算机图像处理技术对数字化楷体笔画进行特征提取,对书法作品的笔画形体特征提取方法进行了初步的探索.对单笔画图像的全局特征和局部特征的选择和提取进行了全面的分析,为数字化书法作品的识别、风格研究、临摹对比等高级处理提供了特征提取及分析的手段.

[1]张世辉. 汉字图像预处理算法的研究及实现[J]. 微机发展,2003,13(4):53–55.

[2]丁晓青. 汉字识别研究的回顾[J]. 电子学报,2002,30(9):1364–1368.

[3]王建平,蔺菲,陈军. 基于手写体汉字笔画提取重构的识别方法[J]. 计算机工程,2007,33(10):230–232.

[4]金连文,徐睿,龙钧宇. 一种简单有效的手写体汉字笔画粗细归一化[DB/OL]. (2003–12–10)[2009–11–19]. http://www. paper789. com/paper_zfcq5l.

[5]何浩志,朱宁波,刘伟. 基于骨架点分布规律的汉字笔段提取算法[J]. 计算机工程与应用,2007,43(22):83–86.

[6]汪荣鑫. 数理统计[M]. 西安:西安交通大学出版社,1986:223.

Feature Extraction for Calligraphy Stroke Based on Computer Image Processing

GUO Chen,HU Xiao-tong
(College of Computer Science and Information Engineering,Tianjin University of Science & Technology,Tianjin 300222,China)

Using computer image processing technology a method of extracting features for basic stroke of regular script was presented. Stroke skeleton was got by means of thinning calligraphy stroke image. Then global features and local features of stroke were extracted,stroke was divided into multiple segments by the key points extracted from skeleton,considered with the characteristics of calligraphy writing the features within and between segments were analyzed. It is a preliminary exploration to choose and extract shape feature for calligraphy stroke image.

calligraphy;stroke;skeleton;feature extraction

TP391

:A

:1672-6510(2010)05-0068-05

2010-01-31;

2010-04-29

郭 晨(1983—),男,山西人,硕士研究生;通信作者:胡晓彤,硕士生导师,huxt@tust.edu.cn.

猜你喜欢
拐点端点曲率
大曲率沉管安装关键技术研究
一类双曲平均曲率流的对称与整体解
非特征端点条件下PM函数的迭代根
带平均曲率算子的离散混合边值问题凸解的存在性
秦国的“拐点”
新拐点,新机遇
半正迷向曲率的四维Shrinking Gradient Ricci Solitons
不等式求解过程中端点的确定
恢复高考:时代的拐点
《廉洁拐点》