施 霖,张家玮

(昆明理工大学 信息工程与自动化学院,云南 昆明 650031)

0 引 言

传统书法是中国传统文化的重要组成部分,使用毛笔、墨汁和纸张等工具进行艺术创作。数字书法[1-2]研究建立在对传统书法书写过程中笔墨变化的全面理解之上。在书法的书写过程中,墨迹的轮廓会随时间的推移而变化,为了更好地理解和研究这种变化,可以将其细分为单位时间内墨迹轮廓的变化量,即墨迹增量。墨迹增量的形态变化与运笔轨迹以及笔头状态相关。因此,通过结合墨迹增量信息和笔头信息,可以进一步分析墨迹轮廓的形成过程,获取关于书写力度、书写方向、笔锋状态和书写笔法等信息,这些信息对数字书法研究和书法评估[3]具有重要应用价值。此外,获取完整的墨迹轮廓还可以有效获得轮廓对应的汉字字形骨架,从而获取字形的结构信息。总的来说,通过研究墨迹增量变化和笔头变化,可以获取到毛笔书写中重要的变化信息,用于书法评估和数字书法的还原。然而,由于生成的墨迹与蘸墨毛笔的颜色相似,新生成的墨迹位于笔头下方,并且笔杆和执笔笔头可能会遮挡墨迹,实时获取墨迹变化信息和笔头变化变得十分困难。这不仅限制了书法运笔实时视频内容分析的发展,同时也阻碍了墨迹骨架的提取和分析。

当前,关于毛笔纸张交互形成过程的研究主要集中在物理过程和图像处理两个方面。在物理过程方面,文献[4-5]使用力反馈技术的笔道仿真方法研究墨迹与笔头的交互过程。然而,由于物理过程的复杂性,生成的墨迹无法完全还原真实书写的细节变化。在图像处理方面,研究人员尝试通过相机捕获毛笔书写的状态。例如,文献[6]通过笔头轮廓分割和曲线模拟轮廓的结合来形成墨迹轮廓,但生成的墨迹轮廓与真实轮廓存在差异。文献[7]尝试通过前后帧的差异来分离笔头,以获取墨迹的变化情况,但墨迹轮廓与笔头轮廓的分离不够明确,导致提取的墨迹轮廓仍然包含笔头区域。

目前,获取墨迹轮廓的骨架信息主要依赖人工干预和手工绘制,这种方法需要专业知识和经验,并且耗时耗力。自动化和半自动化的书法骨架提取研究主要集中在两个方面:一方面,研究者致力于开发基于图像结构的自动化书法骨架提取方法,利用针对性优化的算子[8-9]对墨迹图像进行分析和识别,以提取相应的书法骨架;另一方面,一些研究关注利用深度学习技术[10-12],通过训练模型来学习手工标注的骨架特征,并实现自动化的骨架提取。然而,这两方面的研究都没有结合墨迹的变化情况来生成书法骨架,仍存在进一步改进的空间。

本文旨在准确获取毛笔书写过程中墨迹与笔头变化并生成墨迹骨架。为此,通过构建书法运笔采集平台,从在下方相机成像获取完整墨迹的变化,并提取墨迹增量变化;通过分析墨迹增量的位置变化,生成墨迹的骨架信息;同时通过上下视觉成像的差异获取笔头的变化情况。通过这些步骤,可以获取到毛笔书写过程中的笔墨变化信息。

1 毛笔书写图像处理

为了克服现有书法运笔视频中笔墨纠缠无法分离的问题,本研究搭建了一套书法书写平台。该平台通过在书写平台上配置适当的设备,实现了上下相机的同步采集、可视化显示以及后续的成像处理和笔墨提取功能。通过这套平台能够实时提取和处理书法运笔过程中的信息。

1.1 毛笔书写视频采集

如图1 所示,书写平台设备相关数据如表1 所示,通过书写平台铺设宣纸书写,上下相机捕获书写运笔过程用于后续实时处理或者以视频形式存储。

1.2 上下成像对齐

在图1 中,相机原始成像存在以下问题:成像畸变、上下成像坐标不一致、成像倾斜以及周围物体干扰。这些问题导致相同墨迹在上下成像中的位置和轮廓大小不匹配。为了解决这些问题,需要对原始成像进行成像对齐处理,实现图2 中对应墨迹位置轮廓一致的效果。

图2 成像对齐前后对比

图3 展示了成像对齐的实现过程。首先,使用张正友标定方法[13]对相机参数进行求解,以处理成像畸变问题。下方相机的畸变系数还包括透明平台引起的成像畸变。图4 中的G 图展示了原始成像A、B 存在的成像畸变,经过处理后的成像C、D。

图3 上下成像对齐过程框图

图4 求解视觉转换矩阵步骤及变化细节图

尽管进行了畸变矫正,图4 中的H 图显示,由于相机未与透明平台平行而导致的成像倾斜问题仍未能完全还原I 图中真实棋盘格的轮廓。因此,需要针对C、D图片使用透视变换计算变换矩阵来处理这个问题。

由于A、B 成像是上下相机同时拍摄同一位置的棋盘格,选择A、B 棋盘格成像中最外层的4 个角点作为映射点1,并以棋盘格的4 个点的平面坐标作为映射点2。映射点2 在A、B 成像中是一致的,而映射点1 表示同一个角点在不同视觉中的坐标。通过透视变换计算变换矩阵,能够实现上下成像的对齐,同时,角点之外的成像区域将自动裁剪舍去,以确保对齐的成像结果。

最后,书法平台可直接调用图像变换矩阵对后续原始成像实时求解得到对齐成像。

1.3 上下成像分割

在成像分割处理过程中,将成像转换为HSV 颜色空间,并通过预设阈值的方式成功分离出上方成像中的笔杆区域和笔墨区域。然而,在下方对齐的成像中(如图5 所示),由于笔头阴影区域对墨迹轮廓的完整提取造成了干扰,无法通过预设阈值的方式获取完整的墨迹。因此,通过分析下方成像特点设计分区分割算法来解决这个问题,流程图如图6 所示。

图5 下方对齐成像元素分析图

1.4 笔墨变化提取及墨迹骨架生成

图7 展示了提取墨迹增量并生成完整墨迹骨架的过程。首先,通过原始成像的对齐与分割处理,将成像从A 变化为C。这一步骤旨在获得处理后的成像结果,确保墨迹区域的准确提取。图中的C 展示了经过对齐与分割处理后的成像结果,也展示了实验获取到墨迹生成过程。

图7 墨迹增量获取与墨迹骨架生成过程

在提取墨迹增量的过程中,选取当前帧i和前一帧istep(其中step为固定间隔)进行图像差分操作。差分操作得到的结果如图D所示,即i帧时刻的墨迹增量。然后,计算墨迹增量的像素均值点,将其作为该状态墨迹变化的位置特征点。这些特征点代表了墨迹变化的关键位置。最后,将墨迹增量位置特征点作为时间序列点集,并根据两点距离是否符合指定长度并按照时间顺序连接这些点,这样就生成了如图G所示的墨迹骨架。

通过这个过程能够提取墨迹的增量信息,并生成完整墨迹的骨架,这有助于观察墨迹的演变过程,并深入理解书法字体的形成。

1.5 笔头变化提取

为了提取上方的笔头区域,可以通过查找下方墨迹增量位置的特征点来确定其对应的位置。这是因为笔头的运动导致了墨迹的增量生成,所以墨迹与笔头位置是相对应的。同时,为确保图像处理的时效性和健壮性,避免全局差分运算结果中可能存在的野点干扰问题,差分运算限制在以墨迹增量位置特征点为中心的矩形框内进行,这样可以避免墨迹扩散和墨迹笔画飞白造成的干扰。具体步骤如算法1 所示,处理流程如图8所示。

图8 笔头区域提取完整流程

算法1:上下成像差分获取笔头算法

输入:下方相机成像lowerImage,上方相机成像upperImage,下方墨迹增量位置点points,上方笔杆区域pen

1.for i in range(len(points)-1):

2. rect = calculateRect(points[i])

3. lower = rects(lowerImage)

4. upper = rects(upperImage)

5.diff =upper-lower

6.TipRegion[i] = diff-pen

输出:书写笔头区域集合TipRegion,索引i为帧序号

2 实验结果

本文所搭建的书法运笔平台具备了有效的功能,能够准确地标注实时生成的墨迹增量区域与此刻的笔头区域,并生成该时刻已有墨迹的墨迹骨架,成功地实现了对墨迹变化的实时跟踪与分析,结果如图9所示。

这一平台为书法学习和字体研究提供了有力的工具与支持。

3 结 语

本文介绍了一种书法平台,该平台能够有效地获取完整的墨迹变化,并生成墨迹骨架,同时还能识别笔头区域。与现有的骨架生成方法相比,本文方法通过墨迹轨迹生成更符合传统书法字体结构认知的墨迹骨架。然而,骨架生成仍存在断裂问题,需要进一步改进。本文方法能够直接获取墨迹的变化,而不需要传统的曲线模拟墨迹方法,它能够通过墨迹增量变化还原墨迹的完整变化过程,并结合笔头状态变化进行更深入的应用,例如书法动画生成和书法程序评估。目前,该书法平台已经实现了墨迹增量变化、墨迹骨架变化和笔头笔杆区域的可视化功能,可以在书法教学和评估中使用。

注:本文通讯作者为施霖。