一种激光标刻汉字轮廓的提取方法、系统、存储介质及设备
技术领域
本发明涉及激光加工工艺领域,尤其涉及一种激光标刻汉字轮廓的提取方法、系统、存储介质及设备。
背景技术
激光标刻是利用激光高能量的特性在材料表面产生图形图案,其中标刻汉字是最重要的应用之一。实现激光标刻汉字的基础是汉字库,在激光标刻设备中常用的是矢量字库和点阵字库。汉字矢量字库描述的是汉字的轮廓,计算量较大,适合标刻字符尺寸较大的场景;点阵字库描述的是二值图像位信息,计算量较小,适合字符尺寸较小的场景。由于激光标刻设备的存储限制和计算能力有限,为满足激光标刻软件的最低需要,一般在设备内部仅存储点阵字库。在需要激光标刻汉字轮廓的场景,基于点阵汉字动态生成轮廓汉字。
目前从点阵字库提取汉字轮廓的常用方法是基于图像处理的边缘检测方法,例如基于Sobel算子、Prewitt算子、Roberts算子和Canny算法的方法等,其原理是计算相邻点位的差分,并通过一个核模板实现。这些基于算子的方法一般都涉及到乘法和除法运算,相对于加减和位运算来说计算量较大,在计算能力有限的激光标刻设备中对速度影响较大。另外,这些算子提取的边缘附近存在噪声或模糊现象。
发明内容
针对现有技术的上述不足,本发明提供一种激光标刻汉字轮廓的提取方法、系统、存储介质及设备,可以通过简单的扫描与运算过程得到二维点阵字符的汉字轮廓。
本发明提供方案如下:
一种激光标刻汉字轮廓的提取方法,包括以下步骤:
步骤1:获取一个汉字的二维点阵数据,作为一帧二维单色图像;
步骤2:对汉字进行逐行与逐列扫描,文字图像不同颜色分别以二进位的0与1记录,并对行扫描通过异或运算得到行扫描运算结果,对列扫描通过异或运算得到列扫描运算结果;
步骤3:将行扫描运算结果与列扫描运算结果进行位或运算,得到汉字轮廓。
二维的单色图像在文字的轮廓处存在界线,进行行扫描或列扫描时在界线的两侧分别记录为不同的字符,通过异或运算可以在轮廓处得到1,而其他颜色不变的位置为0,由于行扫描或列扫描均会出现部分无法完全扫描计算的位置,例如竖直方向的轮廓界线在行扫描时无法识别,水平方向的轮廓界线在列扫描时无法识别,因此通过行扫描与列扫描结合的方式进行识别。
优选的,进行所述行扫描时,扫描方向不变,被扫描的行与其相邻的上一行进行运算,并作为被扫描的这一行的运算结果。
当任意一行中部分扫描点存在与上方同一水平位置的扫描点颜色不同时,该行的扫描点对应的字符则产生变化,与上一行对应位置进行异或运算时则会得到1。
优选的,进行所述列扫描时,扫描方向不变,被扫描的列与其相邻的上一列进列运算,并作为被扫描的这一列的运算结果。
当任意一列中部分扫描点存在与上方同一竖直高度的扫描点颜色不同时,该列的扫描点对应的字符则产生变化,与上一列对应位置进列异或运算时则会得到1。
优选的,先进行行扫描或先进行列扫描。行扫描与列扫描的先后顺序不同均能实现本发明的预期效果。
一种使用了上述的激光标刻汉字轮廓的提取方法的系统,包括
汉字点阵数据获取模块,获取一个汉字的二维二值点阵数据;
逐行运算模块,基于异或运算,对原汉字点阵数据逐行进行操作,得到原汉字点阵的行运算结果;
逐列运算模块,基于异或运算,对原汉字点阵数据逐列进行操作,得到原汉字点阵的列运算结果;
合成处理模块,将行运算结果与列位运算结果逐位进行位或运算,得到原汉字点阵的轮廓信息。
优选的,进行所述行扫描时,扫描方向不变,被扫描的行与其相邻的上一行进行运算,并作为被扫描的这一行的运算结果。
优选的,进列所述列扫描时,扫描方向不变,被扫描的列与其相邻的上一列进列运算,并作为被扫描的这一列的运算结果。
一种可读存储介质,存储有计算机程序,其特征在于:该程序被处理器执行时实现上述的一种激光标刻汉字轮廓的提取方法。
一种电子设备,包括存储器介质,所述存储介质存储有计算机程序,其特征在于:该程序被处理器执行时实现上述的一种激光标刻汉字轮廓的提取方法。
本发明具有以下有益效果:
通过对单色文字图像进行逐行与逐列的扫描,来识别出文字轮廓边界处颜色的不同,然后通过异或运算的方式来为轮廓处颜色的变化进行标记,最后通过位或运算来将行扫描与列扫描的结果进行整合,得到完整的汉字轮廓,过程方法简单,运算量小,降低了对识别设备的硬件要求,也提高了识别效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明流程示意图;
图2是被识别汉字点阵图像;
图3是本发明识别结果;
图4是Sobel算子原理识别结果;
图5是Prewitt算子原理识别结果;
图6是Roberts算子原理识别结果;
图7是Canny算法原理识别结果。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本实施例中提供一种激光标刻汉字轮廓的提取方法,包括以下步骤:
步骤1:获取一个汉字的二维点阵数据,作为一帧二维单色图像;
步骤2:对汉字图像由上而下进行逐行扫描,文字图像不同颜色分别以二进位的0与1记录,并对行扫描通过异或运算得到行扫描运算结果,被扫描的行与其相邻的上一行进行运算,并作为被扫描的这一行的运算结果。
步骤3:对汉字图像由左而右进行逐列扫描,文字图像不同颜色分别以二进位的0与1记录,并对列扫描通过异或运算得到行扫描运算结果,被扫描的列与其相邻的上一列进行运算,并作为被扫描的这一列的运算结果。
步骤4:将行扫描运算结果与列扫描运算结果进行位或运算,得到汉字轮廓。
本实施例中,先进行行扫描再进行列扫描,在本发明的其他实施例中,允许先进行列扫描在进行行扫描,且行扫描的与列扫描的方向可以改为与本实施相反的方向。
本实施例中对发明的具体执行过程提供如下优选方案:
S01:获取一个汉字的二维点阵数据M,包括m行n列,从上到下是第1行至第m行,从左到右是第1列到n列;第i行第j列的点阵数据表示为M(i,j);
S02:从第2行到第m行,对其中的每一行从第1列到n列做位异或运算,即MR(i,j)=M(i,j)xor M(i-1,j),其中xor表示位异或运算,MR(i,j)表示位异或运算后在第i行第j列的结果;
S03:从第2列到第n列,对其中的每一列从第1行到m行做位异或运算,即MC(i,j)=M(i,j)xor M(i,j-1),其中xor表示位异或运算,MC(i,j)表示位异或运算后在第i行第j列的结果;
S04:对上述S02和S03的结果,对每一行每一列做位或运算,即MN(i,j)=MR(i,j)or MC(i,j),其中or表示位或运算,MN(i,j)表示位或运算后在第i行第j列的结果;
S05:上述S01-S04对m行n列的汉字二维点阵数据M进行处理,得到一个新的m行n列的二维点阵MN,则MN即是汉字M的轮廓。
一种使用了上述的激光标刻汉字轮廓的提取方法的系统,包括
汉字点阵数据获取模块,获取一个汉字的二维二值点阵数据;
逐行运算模块,基于异或运算,对原汉字点阵数据逐行进行操作,得到原汉字点阵的行运算结果;
逐列运算模块,基于异或运算,对原汉字点阵数据逐列进行操作,得到原汉字点阵的列运算结果;
合成处理模块,将行运算结果与列位运算结果逐位进行位或运算,得到原汉字点阵的轮廓信息。
进行行扫描时,扫描方向不变,被扫描的行与其相邻的上一行进行运算,并作为被扫描的这一行的运算结果。
进列列扫描时,扫描方向不变,被扫描的列与其相邻的上一列进列运算,并作为被扫描的这一列的运算结果。
一种可读存储介质,存储有计算机程序,其特征在于:该程序被处理器执行时实现上述的一种激光标刻汉字轮廓的提取方法。
一种电子设备,包括存储器介质,存储介质存储有计算机程序,其特征在于:该程序被处理器执行时实现上述的一种激光标刻汉字轮廓的提取方法。
如图2、图3所示,本实施例中以汉字“他”作为示例进行扫描提取结果的说明。使用本发明的识别方法所得到的汉字轮廓完整且清晰,如图4、图5所示的Sobel算子原理、Prewitt算子原理提取的轮廓较厚,精度受到影响,如图6所示,基于Roberts算子提取的轮廓存在边缘点不连续现象,如图7所示,基于Canny方法提取的轮廓存在锯齿现象。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。