一种基于骨架指导的文字图像矢量化方法及系统的制作方法

文档序号:6537563阅读:372来源:国知局
一种基于骨架指导的文字图像矢量化方法及系统的制作方法
【专利摘要】本发明涉及一种基于骨架指导的文字图像矢量化方法及系统,其步骤包括:1)对于单个文字图像,系统使用形态学和各向异性扩散算法,对图像进行预处理,包括笔画连接以及边缘平滑;2)得到文字图像的骨架以及骨架上的关键点;3)提取出文字图像的边缘轮廓,将文字图像的边缘轮廓的曲率极值点分类为角点和连接点;4)使用加权的动态规划算法删除多余的连接点;5)曲线拟合,并使得连接点处的曲率连续。与现有技术相比,本发明的矢量化方法及系统可以保持文字书写风格中的重要细节,又能同时去除笔画轮廓上的噪声,且完全不需要人工的干预,算法可以自动运行,有利于矢量化的批量运行。
【专利说明】一种基于骨架指导的文字图像矢量化方法及系统【技术领域】
[0001]本发明涉及一种图像矢量化方法及系统,具体涉及一种图像去噪、图像增强、生成图像骨架、边缘检测和曲线拟合的方法进行基于骨架指导的文字图像矢量化方法及系统,属于计算机图像处理【技术领域】。
【背景技术】
[0002]书法是中国上下五千年文明历史中的珍贵文化瑰宝,被誉为:无言的诗,无行的舞,无图的画,无声的乐。从甲骨文、金文演变而为大篆、小篆、隶书,至东汉、魏、晋的草书、楷书、行书诸体,书法一直散发着独特的艺术魅力。
[0003]中国书法历史悠久,书体沿革流变,书法艺术美丽迷人。随着科技的发展,为了更好的保护书法作品,常常需要将其电子化。但是由于书法常常是刻在石碑,或者是用毛笔写在宣纸上,扫描得到的书法文字都包含大量的噪声,并且常存在笔画断裂的情况。这就需要矢量化算法能够对噪声有极大的鲁棒性,并且在去除噪声的同时,要选择性的保留原有书法作品中的笔画细节。
[0004]图像的矢量化是指将位图图像转换成矢量图的一种技术:位图由一个一个的像素组成,伸缩后会产生锯齿状的噪声;矢量图是由数学公式表示的曲线组成,具有伸缩不变形。由于字体在使用的过程中常常需要不同的字号,因此几乎所有的字库都是用矢量化的文字轮廓表示的。 [0005]传统商业公司在进行书法文字图像的矢量化时,为了使得矢量化的效果更好,常常加入一些人工的干预和指导,这就加大了矢量化的成本,并且减慢了矢量化的速度。
[0006]现有的自动化矢量化方法和系统中,对于所有输入的图像都采用完全相同的处理算法,从不进行图像内容分析,也不关注图像自身的特征,导致这些方法很难区分出图像中的噪声和细节特征,如果去除所有的噪声,那么图像的细节也会同时被丢失;如果保留太多细节的话,噪声会使得结果显得很不美观,失去了矢量化的意义。

【发明内容】

[0007]本发明的目的在于提出了一种基于骨架指导的文字图像矢量化方法和系统,可以有效的解决笔画的断裂问题,并在保持文字重要细节特征的前提下,选择性的去除文字轮廓上的锯齿噪声。
[0008]为了实现上述目的,本发明采用的技术方案如下:
[0009]一种基于骨架指导的文字图像矢量化的方法,其步骤包括:
[0010]I)对单个文字图像进行预处理,包括文字图像的二值化、文字笔画的连接和文字边缘的平滑;
[0011]2)获取预处理后单个文字图像的骨架信息,所述骨架信息包括骨架、骨架点以及骨架上的关键点;
[0012]3)提取出文字图像的边缘轮廓,并找出边缘轮廓上的曲率极值点,然后根据骨架上的关键点将曲率极值点划分为:角点和连接点;
[0013]4)从上述角点和连接点中筛选出最优的轮廓分割点,所述最优的轮廓分割点将文字图像的边缘轮廓划分为若干轮廓段,每个单独的轮廓段都使用一条贝塞尔曲线进行曲线拟合,同时使曲线拟合过程中连接点处的曲率连续,最终得到矢量化的文字轮廓。
[0014]本发明中,对于输入图像的格式颜色和分辨率无任何的要求,可以是手机拍摄的图像,也可以是扫描得到的图像。
[0015]更进一步,所述对单个文字图像进行预处理,包括以下几个步骤:
[0016]1)图像二值化;
[0017]2)使用数学形态学中的膨胀算法,对图像进行膨胀操作,连接断裂的笔画;
[0018]3)使用各项异性扩散算法,平滑文字轮廓;
[0019]4)使用形态学中的腐蚀算法,对图像进行腐蚀操作,消除由于膨胀算法引起的笔画宽度变化影响;
[0020]5)使用各项异性扩散算法,进一步的平滑文字轮廓。
[0021]进一步地,通过骨架增长算法获取预处理后单个文字图像的骨架及骨架点,然后使用关键点检测算法得到骨架上的关键点,所述关键点检测算法包括Harris角点检测算法。
[0022]进一步地,使用边缘检测算法提取出文字图像的边缘轮廓及边缘轮廓上的轮廓点,从所述轮廓点中找出边缘轮廓中的曲率极值点,所述边缘检测算法包括Sobel算子,Canny算子。
[0023]更进一步,所述曲率极值点划分,具体包括以下步骤:
[0024]1)得到文字图像的骨架和骨架上的关键点之后,在文字图像的边缘轮廓中,为骨架中的每个关键点P划分一个半径为DisT的圆形区域R。
[0025]2) DisT的值等于关键点P到最近d个轮廓点的平均距离,d为在关键点P的八邻域中的骨架点的个数。这些值都可以通过算法自动计算得到,不需要预先设定。
[0026]3)在区域R内的曲率极值点被选为角点,剩下的曲率极值点作为连接点。
[0027]更进一步,使用加权的动态规划算法对曲率极值点进行筛选,得到最优的轮廓分割点。具体包括:
[0028]枚举任意两个曲率极值点作为轮廓段的端点P[i],P[j],对轮廓段进行曲线拟合,并记录该轮廓段的最大拟合误差。如果该最大拟合误差小于阈值T,则可以使用一条贝塞尔曲线对这段轮廓进行拟合,P[i+Ι]到P[j-1]的曲率极值点都会被删除;否则不能删除任何曲率极值点。动态规划算法结束后,剩下的曲率极值点就作为最优的轮廓分割点。
[0029]进一步地,如果轮廓段的两个端点都是连接点的话,误差阈值T等于Tl ;否则,误差阈值T等于T2。且Τ1ΧT2,误差阈值越大,被删除的曲率极值点越多,轮廓的细节就被保留的越少。这就保证了,在角点的周围,阈值等于T2,算法会自动的保持更多的轮廓细节特征。
[0030]更进一步,所述曲线拟合包括以下步骤:
[0031]1)使用最小二乘法计算贝塞尔曲线的控制点位置;
[0032]2)若拟合的平均误差大于一个给定的阈值T3,则使用牛顿迭代法进行优化;
[0033]3)拟合的过程中,保证连接点处的曲率连续。[0034]可选地,所述阈值Tl优选为3.0,T2优选为1.5,T3优选为0.5。
[0035]本发明还提出一种基于骨架指导的文字图像矢量化系统,包括:
[0036]预处理模块,用于对文字图像进行预处理;
[0037]骨架生成模块,用于生成文字图像骨架;
[0038]分类模块,用于根据提取到的文字图像的边缘轮廓,将边缘轮廓的曲率极值点划分为角点和连接点;
[0039]筛选模块,用于从曲率极值点中筛选出最优的轮廓分割点;
[0040]曲线拟合模块,用于将最优的轮廓分割点划分出的轮廓段拟合为贝塞尔曲线。
[0041]与现有技术相比,本发明的积极效果在于:
[0042]本发明利用了文字图像最有代表性的特征——骨架作为指导信息,有选择性的将一些笔画轮廓上的细节特征区分为噪声或者是书写风格,从而最大的还原出原有字体的风格特征。相较于现有技术,本方法在矢量化的过程中有针对性的识别出细节和噪声的不同,可以完整的保持原作者的书写风格,并且有效的消除书写和扫描产生的锯齿噪声。另一方法,本发明在矢量化的过程中,完全不需要人工的干预,有利于图像的批量处理。
【专利附图】

【附图说明】
[0043]图1是本发明所述的基于骨架指导的文字矢量化方法及系统的流程图;
[0044]图2是本发明所述的预处理流程图;
[0045]图3是本发明所述的输入的单个文字图像;
[0046]图4是本发明所述的预处理效果示意图;
[0047]图5是本发明所述的文字骨架图;
[0048]图6是本发明所述的文字轮廓的曲率极值点示意图;
[0049]图7是本发明所述的曲率极值点分类效果示意图;
[0050]图8是本发明所述的曲线拟合结果示意图。
【具体实施方式】
[0051]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,可以理解的是,所描述的实例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]图1是本发明所述的基于骨架指导的文字图像矢量化方法及流程图,具体步骤如下:
[0053]I)系统对单个文字图像进行预处理,包括图像的二值化、笔画的连接和边缘的平滑,具体步骤如图2所示,处理效果如图4所示。
[0054]2)对于预处理后的文字图像(见图4),系统使用骨架增长算法得到文字的骨架,骨架图像如图5所示。
[0055]3)提取文字图像的轮廓,并计算曲率极值点。根据骨架信息的指导,对轮廓上的曲率极值点进行分类,曲率极值点的示意图如图6所示,分类的效果如图7所示。
[0056]4)使用动态规划算法,从上述曲率极值点(即角点和连接点)中筛选出最优的轮廓分割点。
[0057]5)根据最优的轮廓分割点,将文字的轮廓分为若干轮廓段,针对每个单独的轮廓段,都使用一条贝塞尔曲线来拟合进行曲线拟合,并保证连接点处的曲率连续,得到矢量化的文字图像。拟合效果如图8所示。
[0058]图2是本发明所述的预处理流程图,包含以下几个部分:
[0059]I)对输入的图像讲行二倌化(可参考百度百科一二倌化http: //baike.baidu.com/view/983308.htm)的操作,若给定的阈值为T,那么,像素的值大于等于T的像素将被设置为白色像素,小于T的则被设置为黑色像素;
[0060]2)使用数学形态学中的膨胀算法(可参考百度百科一形态学http://baike.baidu.com/view/76767.htm中的第四部分),对图像进行NI次膨胀操作,连接断裂的笔画;
[0061]3)使用各向异性扩散算法(可参考维基百科一各向异性扩散算法http://en.wikipedia.0rg/wiki/Anisotropic diffusion),迭代 N2 次,平滑文字轮廓;
[0062]4)使用数学形态学中的腐蚀算法(可参考百度百科一形态学http://baike.baidu.com/view/76767.htm中的第四部分),对图像进行NI次腐蚀操作,消除由于膨胀算法引起的笔画宽度变化影响;
[0063]5)使用各向异性扩散算法(可参考维基百科一各向异性扩散算法http://en.wikipedia.0rg/wiki/Anisotropic diffusion),迭代 N2 次,进一步的平滑文字轮廓。
[0064]可选地,所述NI优选为1,N2优选为10。
[0065]预处理效果,如图4所示,从图4中可以看出,文字轮廓上的锯齿状噪声被很好的消除了,且笔画的断裂现象得到了一定程度的修复。
[0066]图5是本发明所述的文字骨架图,获取该文字骨架的具体步骤如下;
[0067]使用参考文献(WangC,LianZ, Tang Y, etal.Automatic Correspondence Findingfor Chinese Characters Using Graph Matching[C]//Image and Graphics (ICIG), 2013Seventh International Conferenceon.1EEE, 2013:545-550.)中的算法得到文字的骨架以及骨架上的关键点,该算法包含以下几个步骤:
[0068]I)骨架提取算法,得到一个原始的骨架,也可参考网上的资料来实现(http://blog.csdn.net/twowind/article/details/9094037);
[0069]2)骨架剪枝算法,剪枝的规则在参考文献中有详细的说明。
[0070]3)骨架的关键点检测,检测算法可使用常用的角点检测算法,可参考(http://baike.baidu.com/link?url=oN6rV0c-58gdv01NFwhf3uA9jljeEpmm78wUIJd91HF2wo_XlG-Pf742ej9rdR8rn-BIQRxSSt8g86GyHSu4U_)0
[0071]图6是本发明所述的曲率极值点示意图,图7是根据骨架的关键点对极值点分类的效果示意图,具体步骤如下:
[0072]I)使用边缘检测算法提取出文字的边缘轮廓及边缘轮廓上的所有点,即轮廓点,可采用的边缘检测算法有Sobel算子,Canny算子等。
[0073]2)计算每个轮廓上的所有点的曲率(可参考百度百科一曲率http://baike.baidu.com/link?url=w8FaA.TGaDQsngI6VR9K8YdY6313I2rx61iBxvlfdGIffcp8z7Pr0r7BscmIqpqge3),并找出所有的曲率极值点,如图6中轮廓上的黑色圆点所示。
[0074]3)为骨架中的每个关键点P (如图7中边缘轮廓内部的小圆点所示)划分一个半径为DisT的圆形区域R。
[0075]4) DisT的值等于点P到最近d个轮廓点的平均距离,d为在关键点P在图像5中的八邻域中的黑色像素点个数。这些值都可以通过算法自动计算得到,不需要预先设定。
[0076]5)在区域R内的极值点被选为角点(如图7中边缘轮廓上的大圆点所示),剩下的极值点作为连接点。
[0077]6)对于角点和连接点组成的曲率极值点,使用加权的动态规划算法,根据参数筛选出最优的轮廓分割点。
[0078]7)最优的轮廓分割点将轮廓划分为若干轮廓段,每个轮廓段都有两个端点,使用加权的动态规划算法将轮廓段拟合为贝塞尔曲线。
[0079]8)如果轮廓段的两个端点都是连接点的话,误差阈值Tl ;否则,误差阈值T2。且Τ1Χ2,这就保证了,在角点的周围,算法会自动的保持更多的轮廓细节特征。
[0080]最优的轮廓分割点的筛选及曲线拟合具体包括以下步骤:
[0081](a)曲率极值点将轮廓划分为若干轮廓段,每个轮廓段都有两个端点,枚举任意两个轮廓分割点作为轮廓段的端点p[i],p[j],使用最小二乘法将轮廓段拟合为贝塞尔曲线,并记录该轮廓段的最大拟合误差。如果该轮廓段的最大拟合误差小于阈值T,则可以使用一条贝塞尔曲线对这段轮廓进行拟合,p[i+l]到P[j-1]的曲率极值点都可以被删除;否则不能删除任何曲率极值点。该过程由动态规划算法实现,算法的主要流程如下: [0082]I给定η个曲率极值点P[l]…P [η],这些点沿图像轮廓呈顺时针排列;
[0083]2dp[i] [j]记录极值点P[i], P[j]所确定的轮廓段拟合时所需的曲线个数;
[0084]3初始化dp数组:枚举任意两个分割点P [i],P [j]
[0085]fori=lton:
[0086]for j=i+lton:
[0087]对P[i],P[j]确定的轮廓段进行曲线拟合,记录其最大拟合误差为M ;
[0088]如果P [i]和P [j]都是连接点且M〈T1,则dp [i] [ j] =1 ;
[0089]否则,如果M〈T2,则 dp[i] [j]=l ;
[0090]否则,dp[i][j]=j_i。
[0091]End
[0092]end
[0093]4动态规划过程伪代码:
[0094]forIen=Iton:
[0095]fori=lton:
[0096]j= (i+len) %n
[0097]fork=i+ltoj -1:
[0098]dp[i] [j]=min(dp[i] [j], dp[i] [k]+dp[k] [j]);
[0099]end
[0100]end
[0101]end
[0102](b)如果轮廓段的两个端点都是连接点的话,误差阈值为Tl ;否则,误差阈值为T2。且Τ1ΧT2,误差阈值越大,被删除的曲率极值点越多,轮廓的细节就被保留的越少。这就保证了,在角点的周围,算法会自动的保持更多的轮廓细节特征。
[0103]图8是本发明所述的矢量化结果示意图。与输入的文字图像原图(图3)相比,本系统的矢量化结果很好的保持了原字的特征,并且去除了轮廓上的细小噪声。
【权利要求】
1.一种基于骨架指导的文字图像矢量化的方法,其步骤包括: 1)对单个文字图像进行预处理,包括文字图像的二值化、文字笔画的连接和文字边缘的平滑; 2)获取预处理后单个文字图像的骨架信息,所述骨架信息包括骨架、骨架点以及骨架上的关键点; 3)提取出文字图像的边缘轮廓,并找出边缘轮廓上的曲率极值点,然后根据骨架上的关键点将曲率极值点划分为:角点和连接点; 4)从上述角点和连接点中筛选出最优的轮廓分割点,所述最优的轮廓分割点将文字图像的边缘轮廓划分为若干轮廓段,每个单独的轮廓段都使用一条贝塞尔曲线进行曲线拟合,同时使曲线拟合过程中连接点处的曲率连续,最终得到矢量化的文字轮廓。
2.如权利要求1所述的基于骨架指导的文字图像矢量化的方法,其特征在于,所述对单个文字图像进行预处理,包括以下几个步骤: 1)图像二值化; 2)使用数学形态学中的膨胀算法,对图像进行膨胀操作,连接断裂的笔画; 3)使用各项异性扩散算法,平滑文字轮廓; 4)使用形态学中的腐蚀算法,对图像进行腐蚀操作,消除由于膨胀算法引起的笔画宽度变化影响; 5)使用各项异性扩散算法,进一步的平滑文字轮廓。
3.如权利要求1所述的基于骨架指导的文字图像矢量化的方法,其特征在于,通过骨架增长算法获取预处理后单个文字图像的骨架及骨架点,然后使用关键点检测算法得到骨架上的关键点。
4.如权利要求1所述的基于骨架指导的文字图像矢量化的方法,其特征在于,使用边缘检测算法提取出文字图像的边缘轮廓及边缘轮廓上的轮廓点,从所述轮廓点中找出边缘轮廓中的曲率极值点。
5.如权利要求4所述的基于骨架指导的文字图像矢量化的方法,其特征在于,所述曲率极值点划分,具体包括以下步骤: 1)得到文字图像的骨架和骨架上的关键点之后,在文字图像的边缘轮廓中,为骨架中的每个关键点P划分一个半径为DisT的圆形区域R ; 2)DisT的值等于关键点P到最近d个轮廓点的平均距离,d为在关键点P的八邻域中的骨架点的个数; 3)在区域R内的曲率极值点被选为角点,剩下的曲率极值点作为连接点。
6.如权利要求1所述的基于骨架指导的文字图像矢量化的方法,其特征在于,使用加权的动态规划算法对曲率极值点进行筛选,得到最优的轮廓分割点。
7.如权利要求6所述的基于骨架指导的文字图像矢量化的方法,其特征在于,使用加权的动态规划算法对曲率极值点进行筛选,具体包括以下步骤: 枚举任意两个曲率极值点作为轮廓段的端点P[i],P[j],对轮廓段进行曲线拟合,并记录该轮廓段的最大拟合误差;如果该最大拟合误差小于阈值T,则可以使用一条贝塞尔曲线对这段轮廓进行拟合,P[i+Ι]到P[j-1]的曲率极值点都会被删除;否则不能删除任何曲率极值点;动态规划算法结束后,剩下的曲率极值点就作为最优的轮廓分割点。
8.如权利要求7所述的基于骨架指导的文字图像矢量化的方法,其特征在于,如果轮廓段的两个端点都是连接点的话,误差阈值为Tl ;否则,误差阈值为T2,且Τ1ΧT2,误差阈值越大,被删除的曲率极值点越多,轮廓的细节就被保留的越少。
9.如权利要求1所述的基于骨架指导的文字图像矢量化的方法,其特征在于,所述曲线拟合包括以下步骤: 1)使用最小二乘法计算贝塞尔曲线的控制点位置; 2)若拟合的平均误差大于一个给定的阈值T3,则使用牛顿迭代法进行优化; 3)拟合的过程中,保证连接点处的曲率连续。
10.一种基于骨架指导的文字图像矢量化系统,包括: 预处理模块,用于对文字图像进行预处理; 骨架生成模块,用于生成文字图像骨架; 分类模块,用于根据提取到的文字图像的边缘轮廓,将边缘轮廓的曲率极值点划分为角点和连接点; 筛选模块,用于从曲率极值点中筛选出最优的轮廓分割点; 曲线拟合模块,用于将最优的轮廓分割点划分出的轮廓段拟合为贝塞尔曲线。
【文档编号】G06K9/40GK103942552SQ201410047304
【公开日】2014年7月23日 申请日期:2014年2月11日 优先权日:2014年2月11日
【发明者】潘婉琼, 连宙辉, 唐英敏, 肖建国 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1