【技术实现步骤摘要】
一种基于多尺度提取汉字关键骨架点的方法
[0001]本专利技术属于计算机及汉字矢量化领域,主要关注提高汉字矢量化的质量效果和减少矢量化汉字存储空间大小。
技术介绍
[0002]为了提高汉字矢量化的质量效果和降低存储大小,引入汉字关键骨架点的提取问题。汉字的关键骨架点是包含汉字所有变化之处的骨架点。已有的提取汉字骨架关键点基本都是只提取了端点、交叉点和拐点。目前的研究成果尚不多,具体如下:
[0003]文献1:Wang,C.,Lian,Z.,Tang,Y.,&Xiao,J.(2013).Automatic Correspondence Finding for Chinese Characters Using Graph Matching.2013Seventh International Conference on Image and Graphics,545
‑
550.
[0004]文献1给出的汉字关键骨架提取方法:生成文字的骨架后,对骨架进行修剪,删除一些短分支骨架,再在文字干净的骨架中提取骨架的端点、连接点、角点作为骨架的关键点。但是该文未探讨具体如何提取点、连接点、角点等。
[0005]文献2:Pan,W.,Lian,Z.,Tang,Y.,&Xiao,J.(2014).Skeleton
‑
guided vectorization of Chinese calligraphy images.2014IEEE 16th In ...
【技术保护点】
【技术特征摘要】
1.一种基于多尺度提取汉字关键骨架点的方法,其特征在于,所述方法包括具体步骤如下:第1步、输入单个汉字图片;第2步、针对输入的汉字图片进行预处理生成二值图;第3步、针对第2步中的二值图,采用骨架提取算法提取汉字的骨架,汉字的骨架是由全部骨架像素点(i,j)组成,其中0=<i=<(汉字图片的宽度
‑
1),0=<j=<(汉字图片的长度
‑
1);第4步、针对第3步中的骨架,基于聚集度提取骨架的所有端点和所有交叉点;第5步、针对第3步中的骨架,采用小尺度过滤法提取骨架的所有折点;第6步、针对第3步中的骨架,采用大尺度过滤法提取骨架的所有弯点;第7步、针对第3步中的骨架,进一步提取平均笔画宽度变化的所有变宽点;第8步、将上述所有端点、交叉点、折点、弯点、以及变宽点记录下来作为该汉字的所有关键骨架点;第9步、输出该汉字的所有关键骨架点,程序运行结束。2.根据权利要求1所述的方法,其特征在于,第4步所述的“基于聚集度提取骨架的端点和交叉点”,是通过针对给定的骨架像素点来计算它的骨架像素点区域的聚集度、并进一步比较聚集度与阈值的大小来获取端点和交叉点这两类关键骨架点;骨架像素点区域是指以该像素点为中心点、以给定的边长所围成的正方形区域,区域的边长可取值为2*radius,其中radius值为(max(汉字图片的宽度,汉字图片的长度)*0.1)/2;阈值包括最大阈值和最小阈值,最大阈值可取值为9,最小阈值可取值为6;骨架的端点和交叉点具体获取方法如下:第4.1步、依次遍历全部的骨架像素点(i,j),其中0=<i=<(汉字图片的宽度
‑
1),0=<j=<(汉字图片的长度
‑
1),针对当前的骨架像素点(i,j)执行第4.2步;第4.2步、利用公式(1)和(2)计算当前的骨架像素点(i,j)的聚集度degree
i,j
,其中i为当前骨架像素点的宽度坐标,j为当前骨架像素点的长度坐标,k为(i
‑
radius,i+radius)范围内的全部可能值,l为(j
‑
radius,j+radius)范围内的全部可能值;其中,p
k,l
是像素点(k,l)处的取值,若像素点(k,l)是前景则p
k,l
为1、否则为0,即p
k,l
取值如公式(2):第4.3步、比较像素点(i,j)的聚集度degree
i,j
和最大阈值与最小阈值的大小关系:如果像素点(i,j)的聚集度degree
i,j
>最大阈值,则此像素点(i,j)是交叉点,记录下该像素点(i,j)为交叉点;否则,如果像素点(i,j)的聚集度degree
i,j
<最小阈值,则此像素点(i,j)是端点,记录下该像素点(i,j)为端点;否则,此像素点(i,j)既不是端点、又不是交叉点,不用记录下来;第4.4步、若全部的骨架像素点遍历完毕,则执行第4.5步;否则执行第4.1步;
第4.5步、骨架的所有端点和所有交叉点获取完毕,其中骨架的所有端点和所有交叉点都是关键骨架点。3.根据权利要求1所述的方法,其特征在于,第5步所述的“采用小尺度过滤法提取骨架的所有折点”,是通过在给定骨架像素点的“小区域”上获取所有骨架像素点、进一步将靠近该“小区域”边界的骨架像素点作为直线的端点、并获取该“小区域”中距离此直线最大的骨架像素点作为折点类型的关键骨架点,其中该“小区域”的宽度、长度分别为汉字图片宽度、长度的0.1倍;骨架的折点具体获取方法如下:第5.1步、依次遍历全部的骨架像素点(i,j),其中0=<i=<(汉字图片的宽度
‑
1),0=<j=<(汉字图片的长度
‑
1),针对当前的骨架像素点(i,j)执行第5.2步;第5.2步、计算当前的骨架像素点(i,j)的“小区域”,以当前的骨架像素点(i,j)为中心扩展出对应的“小区域”,“小区域”的宽度、长度分别为汉字图片宽度、长度的0.1倍;第5.3步、计算第5.2步的“小区域”中关键骨架点的所有“连通分量”,其中每个“连通分量”是指汉字骨架中连续不中断的几个骨架像素点组成的骨架像素点数组;并进一步将每个“连通分量”放入到一个数组point[N]中,其中N是该“连通分量”中骨架像素点个数;进一步计算每个“连通分量”point[N]靠近“小区域”边界的数目,如果靠近“小区域”边界的数目等于2,则记录这两个边界骨架像素点为此“连通分量”的起点和结束点,并以这两个起点和结束点作为直线的两个端点,利用公式(4)(5)(6)求得直线w方程;进一步再利用公式(7)计算此“连通分量”中所有骨架像素点到直线w的距离,结果放入到数组dist[N],其中N是该“连通分量”中骨架像素点个数;直线w的方程为Ax+By+C=0,其中:A=point[n
‑
1].y
‑
point[0].y
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)B=point[0].x
‑
point[n
‑
1].x(5)C=...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。