激光打标系统及其闭合图形的填充算法、存储介质的制作方法

文档序号:16214444发布日期:2018-12-08 08:10阅读:1284来源:国知局
激光打标系统及其闭合图形的填充算法、存储介质的制作方法

本发明涉及激光加工技术领域,具体涉及一种激光打标系统及其闭合图形的激光打标填充算法、计算机可读存储介质。

背景技术

随着激光技术的发展,激光打标机或者激光雕刻机作为激光加工技术的一种,在当今工业领域的应用也愈发凸显。由于激光具有方向性好、亮度高、单色性好,同事具有很高的能量密度,因此广泛应用于材料加工,对产品或者工件表面上进行文字、标记、图形图像等的标刻,以制作出商品标识或者工艺品等。

激光雕刻与激光打标等激光加工设备具有勾边和清扫两种运动方式,勾边为轮廓运动,用于生成曲线或多边形轨迹;清扫为水平(或其它角度)扫描运动,用于生成位图图像或矢量图图形。激光加工的输入为矢量图或位图两种。矢量图用于勾边运动以生成曲线或多边形轨迹;闭合的矢量图可以用于清扫运动生成矢量图图形;位图用于清扫运动生成位图图像。

通常的,在激光打标系统中,在对闭合图形进行打标时,首先要按照外轮廓线周向获取轮廓点的计算方式,来获取闭合图形的外轮廓;然后根据闭合图形的外轮廓和闭合图形的内部填充颜色的图像来生成内部的填充线;最终来计算激光打标时的扫描路径。但是这种算法通常需要进行直线插补计算,具有计算量大,计算速度慢的缺点,并且这种方式生成标记内容填充线的速度不能满足高速的要求,其中计算交点非常费时,而且填充线不容易正好在扫描路径上。



技术实现要素:

本发明的主要目的在于提供一种新的计算量小,计算速度快的闭合图形的激光打标填充算法、激光打标系统及计算机可读存储介质。

为实现上述目的,本发明提供一种闭合图形的激光打标填充算法,包括步骤:

根据目标闭合图形建立坐标系,确定至少一个目标填充区域;

将所述目标填充区域分割为多条扫描线,分别获取每条扫描线与所述目标填充区域内的目标闭合图形外轮廓的相交点坐标;

记录所述相交点坐标,并根据记录的所述坐标值生成对应的坐标数组;

根据所述坐标数组中的相交点的坐标以及激光头的打标扫描方式,计算所述目标填充区域内的激光打标路径。

本发明还提供一种激光打标系统,包括用于进行图形数据处理的存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述的闭合图形的激光打标填充算法的步骤。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一项所述的闭合图形的激光打标填充算法的步骤。

在本发明的技术方案中,根据所述数组中的相交点的坐标以及激光头的打标扫描方式,直接计算所述目标填充区域内的激光打标路径;无需按照外轮廓线周向获取轮廓点的计算方式,来获取闭合图形的外轮廓,然后来计算扫描路径;直接根据激光头的打标扫描方式,来对目标填充区域进行扫描线与目标闭合图形的外轮廓线的相交点的计算激光打标路径的方式,计算量小,计算速度快。

附图说明

图1为本发明一实施例中提供一种激光打标系统的模块结构示意图;;

图2为本发明第一实施例中的激光打标填充算法的流程图;

图3为本发明一实施例中的目标填充区域内的标闭合图形外轮廓与扫描线的相交图形示意图;

图4为图2中步骤s40的子流程图;

图5为第一实施例中图3的目标填充区域的激光打标路径示意图;

图6为本发明另一实施例中的目标填充区域内的标闭合图形外轮廓与扫描线的相交图形示意图;

图7为本发明第二实施例中的激光打标填充算法的流程图;

图8为第二实施例中图6的目标填充区域的激光打标路径示意图;

图9为第三实施例中图6的目标填充区域的激光打标路径示意图;

图10为第三实施例中的闭合图形的激光打标填充算法的流程图;

图11为第四实施例中的目标填充区域的激光打标路径示意图;

图12为第四实施例中的闭合图形的激光打标填充算法的流程图

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,为本发明的一实施例中提供一种激光打标系统100的模块示意图。所述激光打标系统100包括用于进行图形数据处理的计算机模块10以及激光打标模块20。

其中,所述计算机模块10包括存储器11以及处理器12。

存储器11可用于存储软件程序以及各种数据。存储器11可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如图形处理功能、数据计算等)等;存储数据区可存储根据计算机模块10的使用所创建的数据(比如图形数据、数据等)等。此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器12是计算机模块的控制中心,利用各种接口和线路连接整个计算机模块10的各个部分,通过运行或执行存储在存储器12内的软件程序和/或模块,以及调用存储在存储器12内的数据,执行计算机模块10的各种功能和处理数据,从而对计算机模块10进行整体监控。处理器12可包括一个或多个处理单元,所述处理器可以是cpu(中央处理器,centralprocessingunit),gpu(图形处理单元,graphicsprocessingunit)或者cpu与gpu的组合;优选的,处理器12可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器12中。

可以理解的是,计算机模块10还可以包括给各个部件供电的电源(比如电池),显示单元用于显示由用户输入的信息或提供给用户的信息,用户输入单元用于接收输入的数字或字符信息,以及产生与计算机模块10的用户设置以及功能控制有关的键信号输入等

本领域技术人员可以理解,图1中示出的计算机模块10的结构并不构成对计算机结构的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

所述激光打标系统100中的计算机模块10用于对目标标记图形,例如,文字、数字、图形等闭合图形(含二维码、条码、矢量文件、位图等)进行激光打标填充的计算;所述激光打标模块20则根据计算好的激光打标路径进行扫描打标和激光控制。

基于上述硬件结构,提出本发明方法各个实施例。

参照图2,本发明提供一种闭合图形的激光打标填充算法200的方法流程图,所述闭合图形的激光打标填充算法200包括以下步骤:

步骤s10,根据目标闭合图形建立坐标系,确定至少一个目标填充区域。

可以理解的是,所述目标闭合图形可以是文字、二维码、条码、数字、图形等闭合图形。

具体的,在一实施例中,所述步骤s10可以具体包括:步骤s11,根据目标闭合图形建立坐标系;

步骤s12,将目标闭合图形根据颜色和/或尺寸按照预设的分割规则,划分为至少一个目标填充区域。

可以理解的是,在步骤s11中,可以根据目标闭合图形建立二维x-y直角坐标系,在步骤s12中,根据目标闭合图形的尺寸按照预设的分割规则,划分为至少一个目标填充区域。例如,目标闭合图形的尺寸为1cm*1cm的图形可以直接设置为一个目标填充区域;如果目标闭合图形的尺寸较大,例如为4cm*4cm的图形,则可以分割为16个1cm*1cm的较小的目标填充区域进行填充,或者目标闭合图形的尺寸为9cm*9cm的图形可以分割为9个3cm*3cm的目标填充区域。

步骤s20,将所述目标填充区域分割为多条扫描线,分别获取每条扫描线与所述目标填充区域内的目标闭合图形外轮廓的相交点坐标。

具体的,在一实施例中,所述步骤s20可以包括:

步骤s21,根据所述目标填充区域的尺寸以及所述坐标系,将所述目标填充区域分割为多条扫描线;

步骤s22,分别获取每条扫描线与所述目标填充区域内的目标闭合图形的重合点的坐标;

步骤s23,将所述重合点坐标中的连续的重合点组成的线段的极值的点的坐标点,确定为该条扫描线与所述目标填充区域内的目标闭合图形外轮廓的相交点坐标。

可以理解的是,在所述步骤s21中,可以是根据所述目标填充区域的尺寸以及所述x-y直角坐标系,将所述目标填充区域分割为多条沿x轴方向延伸的扫描线,例如一个10mm*10mm的目标填充区域或者目标填充图形,可以设置9条扫描线,每条扫描线间隔1mm。其中,所述扫描线的方向可以是根据激光打标模块的激光头的移动扫描方向保持一致。

在步骤s22中,根据确定的多条扫描线,依次分别获取每条扫描线与所述目标填充区域内的目标闭合图形的重合点的坐标;然后在所述步骤s23中,以及连续的重合点组成的线段的极值的点的坐标点,确定为该条扫描线与所述目标填充区域内的目标闭合图形外轮廓的相交点坐标。由于目标图形为闭合图形,每条扫描线与所述目标填充区域内的目标闭合图形外轮廓的相交点坐标均为偶数个。

进一步地,当某条扫描线刚好与所述目标填充区域内的目标闭合图形的重合点坐标中的存在离散点时,即该扫描线刚好与目标闭合图形的一个顶点相交。在本实施例中,将所述离散点的坐标不存入所述相交点坐标,或者将所述离散点坐标拆为两个坐标进行记录。

请一并结合图3,为一实施例中的,目标填充区域内的标闭合图形外轮廓与扫描线的相交图形示意图。

步骤s30,记录所述相交点坐标,并根据记录的所述坐标值生成对应的坐标数组。

具体的,根据所述坐标系,按照所述扫描线的扫描顺序每条扫描线生成一个对应的坐标数组,并在所述坐标数组内按照该条扫描线的扫描顺序依次记录偶数个的所述相交坐标点。

例如,扫描线0对应生成一个对应的数组坐标数组p[0](p1,p2);扫描线2对应生成一个对应的数组坐标数组p[2](p21,p22,p23,p24);扫描线6对应生成一个对应的数组坐标数组p[6](p61,p62,p63,p64,p65,p6p6)。

步骤s40,根据所述坐标数组中的相交点的坐标以及激光头的打标扫描方式,计算所述目标填充区域内的激光打标路径。

在本实施例中,通过根据目标闭合图形建立坐标系,确定至少一个目标填充区域;将所述目标填充区域分割为多条扫描线,分别获取每条扫描线与所述目标填充区域内的目标闭合图形外轮廓的相交点坐标;记录所述相交点坐标,并根据记录的所述坐标值生成对应的数组坐标数组;根据所述数组坐标数组中的相交点的坐标以及激光头的打标扫描方式,直接计算生成所述目标填充区域内的激光打标路径;无需按照外轮廓线周向获取轮廓点的计算方式,来获取闭合图形的外轮廓,然后来计算扫描路径;直接根据激光头的打标扫描方式,来对目标填充区域进行扫描线与目标闭合图形的外轮廓线的相交点的计算激光打标路径的方式,计算量小,计算速度快。

请一并结合图4,以直线单向填充为例,所述步骤s40可以包括:

步骤s41,根据所述激光头的打标扫描方式以及所述数组中的相交点的坐标,确定每一条扫描线的扫描方向。

其中,在本具体示例中,所述激光头的打标扫描方式为直线单向填充,每一条扫描线的扫描方式为自所述坐标系的左边向右边扫描。

步骤s42,根据所述每一条扫描线的扫描方向确定所述坐标数组中的依照所述扫描方向顺序的奇数个坐标与偶数个坐标之间的直线段;

步骤s43,将所述每一条扫描线对应的直线段确定为填充区域。

例如,请结合图3和图5,所述坐标数组中的成对的奇数坐标与偶数坐标之间的直线段所对应的像素点均为填充区域;扫描线0对应的坐标数组p[0](p1,p2)中,p1和p2之间的直线段所对应的像素点均为填充区域;

扫描线2对应的坐标数组p[2](pasp21,pasp22,pasp23,pasp24)中,pasp21和pasp22之间的直线段所对应的像素点为填充区域,pasp22和pasp23之间的直线段所对应的像素点为非填充区域,pasp23和pasp24之间的直线段所对应的像素点为填充区域;

扫描线6对应的数组坐标数组p[6](pasp61,pasp62,pasp63,pasp64,pasp65,pasp6)(pasp1,pasp2,pasp3,pasp4,pasp5,pasp6)中,pasp61和pasp62之间的直线段所对应的像素点为填充区域,pasp62和pasp63之间的直线段所对应的像素点为非填充区域,pasp63和pasp64之间的直线段所对应的像素点为填充区域,pasp64和pasp65之间的直线段所对应的像素点为非填充区域,pasp65和pasp66之间的直线段所对应的像素点非填充区域;其他扫描线的填充区域如图5所示,在此不再赘述。

步骤s44,根据所述确定的填充区域和扫描方向进行插补计算,确定所述目标填充区域内的激光打标路径。

如图5所示,为图3所示的闭合图形在直线单向填充的实施例中,最后生成的激光打标路径。

可以理解的是,针对直线双向填充的方式,填充区域的确定与上述实施例相似,其不同仅在于所述扫描线中相邻的两条扫面线的扫描方向相反。

请一并结合图6-8,为本发明第二实施例中的针对弓形断开扫描填充的方式,一种闭合图形的激光打标填充算法202的方法流程图,所述闭合图形的激光打标填充算法202与第一实施例中的闭合图形的激光打标填充算法200相似,其中步骤s210,步骤s220以及步骤s230与第一实施例相同,在此不再赘述;其不同在于,所述步骤s230之后还包括:

步骤s251,沿所述目标填充区域内的目标闭合图形外轮廓线扫描,获取与相邻的两条所述扫描线之间且与所述相邻的两条所述扫描线均相交的第一外轮廓线路径;

步骤s252,记录所述相邻的两条所述扫描线之间的第一外轮廓线路径,并根据记录的所述第一外轮廓线路径生成对应的相交路径数组。

例如,沿所述目标填充区域内的目标闭合图形外轮廓线扫描,相邻的扫描线0与扫描线1之间且与所述扫描线0与扫描线1均相交的l1,l2为第一外轮廓线路径,对应生成相交路径数组l[1](l1,l2);相邻的扫描线2与扫描线3之间且与所述扫描线2与扫描线3均相交的l5,l6,l7,l8为第一外轮廓线路径,对应生成相交路径数组l[2](l5,l6,l7,l8);相邻的扫描线6与扫描线7之间且与所述扫描线6与扫描线7均相交的l21,l24为第一外轮廓线路径,对应生成相交路径数组l[6](l21,l24)。

其不同还在于,所述步骤s240具体可以包括步骤:

步骤s241,根据所述激光头的打标扫描方式以及所述坐标数组中的相交点的坐标,确定每一条扫描线的扫描方向;

例如,在图8中,所述第一条扫描线0自所述坐标系从左向右扫描,自所述第一条扫描线0的扫描方向顺序的最后一个偶数坐标弓形连接到第二条扫描线1,第二条扫描线1与所述第一条扫描线0的扫描方向相反,来回弓形填充。

步骤s242,根据所述坐标数组中的相交点的坐标、所述相交路径数组中的第一外轮廓线路径以及每条扫描线的扫描方向,确定所述每一条扫描线对应所述坐标数组中依照所述扫描方向顺序的奇数个坐标与偶数个坐标之间的直线段,以及确定自所述扫描方向顺序的最后一个偶数坐标起且与下一扫描线的扫描方向顺序的第一个奇数坐标相交的第一外轮廓路径;

步骤s243,将每一条所述扫描线对应的所述直线段以及自所述扫描方向顺序的最后一个偶数坐标起且与下一扫描线的扫描方向顺序的第一个奇数坐标相交的第一外轮廓路径作为填充区域;

步骤s244,根据所述确定的填充区域和扫描方向进行插补计算,确定所述目标填充区域内的激光打标路径。

请一并结合图6和图8,针对第一条扫描线0,获取所述坐标系中第一条扫描线0的扫描方向上与该扫描线相交的第一个相交坐标p1与第二个p2之间的直线段,获取自所述第一条扫描线0的扫描方向顺序的最后一个偶数坐标p2起且与下一扫描线相交的第一外轮廓路径l2;

针对第二条扫描线1,获取所述坐标系中第二条扫描线1的扫描方向上与该扫描线1相交的第一个相交坐标p3与第二个p4之间的直线段,获取自所述第二条扫描线1的扫描方向顺序的最后一个偶数坐标p4起且与下一扫描线2相交的第一外轮廓路径l4;

针对第三条扫描线2,获取所述坐标系中第三条扫描线2的扫描方向上与该扫描线2相交的第一个相交坐标p5与第二个p6之间的直线段,第三个相交坐标p7与第四个p8之间的直线段,获取自所述第三条扫描线2的扫描方向顺序的最后一个偶数坐标p8起且与下一扫描线相交的第一外轮廓路径l8;

针对第四条扫描线3,获取所述坐标系中第四条扫描线3的扫描方向上与该扫描线3相交的第一个相交坐标p9与第二个p10之间的直线段,第三个相交坐标p11与第四个p12之间的直线段,获取自所述第四条扫描线3的扫描方向顺序的最后一个偶数坐标p12起且与下一扫描线相交的第一外轮廓路径l12;

同样的针对其他扫描线确定所述每一条扫描线对应所述坐标数组中依照所述扫描方向顺序的奇数个坐标与偶数个坐标之间的直线段,以及确定自所述扫描方向顺序的最后一个偶数坐标起且与下一扫描线相交的第一外轮廓路径;直至该目标填充区域的最后一条扫描线迭代结束。

图8为对图6中的目标闭合图形按照所述步骤s240的方式进行路径计算后,得到的激光打标路径图。

可以理解的是,针对某一条扫描线的最后一个偶数坐标对应的所述第一外轮廓线路径与下一条扫描线相交的交点坐标不是下一扫描线起始奇数坐标时,这时候会跳到下一条扫描线的扫描方向顺序的第一个奇数坐标,然后进行计算。

请一并结合图6、图9和10,为本发明第三实施例中的一种闭合图形的激光打标填充算法204的方法流程图,所述闭合图形的激光打标填充算法204与第二实施例中的闭合图形的激光打标填充算法202相似,其中步骤s410,步骤s420、步骤s430、步骤s451以及步骤452与第二实施例相同,在此不再赘述;其不同在于,所述步骤s430之后还包括:

步骤s453,沿所述目标填充区域内的目标闭合图形外轮廓线扫描,获取相邻的两条所述扫描线之间的且与仅与一条所述扫描线相交的第二外轮廓线路径;

步骤s454,记录所述相邻的两条所述扫描线之间的第二外轮廓线路径,并根据记录的所述第二外轮廓线路径生成对应的过度路径数组。

请一并结合图6和图9,例如,沿所述目标填充区域内的目标闭合图形外轮廓线扫描,相邻的扫描线0与扫描线1之间且与所述扫描线0与扫描线1均相交的l1,l2为第一外轮廓线路径,对应生成相交路径数组l[1](l1,l2);

相邻的扫描线6与扫描线7之间且与所述扫描线6与扫描线7均相交的l21,l24为第一外轮廓线路径,对应生成相交路径数组l[6](l21,l24)。

进一步地,如图9中所示的图形中,扫描线6与扫描线7之间的路径g22-23,为所述目标填充区域内的目标闭合图形外轮廓线扫描,相邻的两条所述扫描线6、7之间的且与仅与一条所述扫描线6相交的第二外轮廓线路径g22-23;记录所述相邻的两条所述扫描线6、7之间的第二外轮廓线路径g22-23,并根据记录的所述第二外轮廓线路径生成对应的过度路径数组g[6](g22-23)。

其不同还在于,所述步骤s440具体可以包括步骤:

步骤s441,根据所述激光头的打标扫描方式以及所述坐标数组中的相交点的坐标,确定每一条扫描线的扫描方向;

例如,在图9中,所述第一条扫描线0自所述坐标系从左向右扫描,自所述第一条扫描线0的扫描方向顺序的最后一个偶数坐标弓形连接到第二条扫描线1,第二条扫描线1与所述第一条扫描线0的扫描方向相反,来回弓形填充。

步骤s442,根据所述坐标数组中的相交点的坐标以及每条扫描线的扫描方向,确定所述坐标数组中的起始奇数坐标;

具体的,请再次参考图9,在所述坐标系中,将最靠近y轴坐标最小的扫描线的起始方向的点作为起始奇数坐标。例如,第一条扫描线0的最左边的坐标作为起始奇数坐标。

步骤443,获取自所述起始奇数坐标起依该扫描线的扫描方向顺序的第一条与该扫描线相交的第一外轮廓线路径,以确定所述第一条第一外轮廓线路径与该扫描线相交的结束偶数坐标,并将所述第一条第一外轮廓线路径与下一条扫描线相交的交点坐标为下一扫描线起始奇数坐标;

由于本实施例中,采用的弓形扫描填充方式,当一条扫描线与所述目标闭合图形的相交坐标超过两个时,扫描路径在遇到第一个偶数相交坐标时,会沿所述第一外轮廓线路径移向下一扫描线。

步骤444,依次依照弓形扫描的方式,直至所述目标填充区域内的最后一条扫描线计算完毕后,将所述每一条扫描线对应的起始奇数坐标与结束偶数坐标之间的直线段,所述每一条扫描线对应的起始奇数坐标与结束偶数坐标之间的第二外轮廓路径,以及所述每一条扫描线对应的第一条第一外轮廓线路径作为填充区域,并从所述坐标数组中去除所述起始奇数坐标、结束偶数坐标、第二外轮廓路径以及第一条第一外轮廓线路径;

步骤s445,判断所述坐标数组中的相交坐标是否为空;

步骤s446,在所述坐标数组中的相交坐标不为空时,进入步骤s342;

也就是说,在所述步骤s346中,当第一条扫描路径计算完毕后,从所述坐标数组中的剩余的相交坐标中选择最靠近y轴坐标最小的扫描线的起始方向的点作为起始奇数坐标,再次进行计算,迭代计算直至所有的相交坐标均被扫描线覆盖后结束。

步骤s447,在所述坐标数组中的相交坐标为空时,根据所述确定的填充区域和扫描方向进行插补计算,确定所述目标填充区域内的激光打标路径。

请一并结合图6和9,例如,在所述激光头的打标扫描方式为弓形扫描时,确定所述坐标数组中第一条扫描线0对应的第一个坐标p1为起始奇数坐标。

针对第一条扫描线0,获取自所述起始奇数坐标p1起,依该扫描线0的扫描方向顺序的第一条与该扫描线0相交的第一外轮廓线路径l2,以确定所述第一条第一外轮廓线路径l2与该扫描线0相交的结束偶数坐标p2,并将所述第一条第一外轮廓线路径l2与下一条扫描线1相交的交点坐标p3作为下一扫描线起始奇数坐标;将所述坐标系中第一条扫描线0的扫描方向上的起始奇数坐标p1与结束偶数坐标p2之间的直线段,以及所述第一条第一外轮廓线路径l2确定为填充区域;并从所述坐标数组中去除所述起始奇数坐标p1、结束偶数坐标p2、以及第一条第一外轮廓线路径l2。

针对第二条扫描线1,所述第一条第一外轮廓线路径l2与扫描线1相交的交点坐标p3为扫描线1的起始奇数坐标,获取自所述起始奇数坐标起依该扫描线1的扫描方向顺序的第一条与该扫描线1相交的第一外轮廓线路径l4,以确定所述第一条第一外轮廓线路径l4与该扫描线1相交的结束偶数坐标p4,并将所述第一条第一外轮廓线路径l,4与下一条扫描线2相交的交点坐标p5作为下一扫描线起始奇数坐标;将所述坐标系中第一条扫描线1的扫描方向上的起始奇数坐标p3与结束偶数坐标p4之间的直线段,以及所述第一条第一外轮廓线路径l4确定为填充区域;并从所述坐标数组中去除所述起始奇数坐标p3、结束偶数坐标p4、以及第一条第一外轮廓线路径l4。

针对其他扫描线2、3、4、5依次进行迭代计算,获取自所述起始奇数坐标起依该扫描线的扫描方向顺序的第一条与该扫描线相交的第一外轮廓线路径,以确定所述第一条第一外轮廓线路径与该扫描线相交的结束偶数坐标,并将所述第一条第一外轮廓线路径与下一条扫描线相交的交点坐标作为下一扫描线起始奇数坐标;将所述坐标系中第一条扫描线的扫描方向上的起始奇数坐标与结束偶数坐标之间的直线段,以及所述第一条第一外轮廓线路径确定为填充区域;并从所述坐标数组中去除所述起始奇数坐标、结束偶数坐标、以及第一条第一外轮廓线路径。

针对扫描线6,所述扫描线5确定的第一条第一外轮廓线路径l20与扫描线6相交的交点坐标p21为扫描线6的起始奇数坐标,获取自所述起始奇数坐标p21起依该扫描线6的扫描方向顺序的第一条与该扫描线6相交的第一外轮廓线路径l24,以确定所述第一条第一外轮廓线路径l24与该扫描线6相交的结束偶数坐标p24,并将所述第一条第一外轮廓线路径l24与下一条扫描线7相交的交点坐标p25作为下一扫描线7起始奇数坐标;将所述扫描线6的扫描方向上的起始奇数坐标p21与结束偶数坐标p24之间的直线段,所述相邻的两条所述扫描线6、7之间仅与所述扫描线6相交两次的第二外轮廓线路径g22-23,以及所述第一条第一外轮廓线路径l24确定为填充区域;并从所述坐标数组中去除所述起始奇数坐标p21、结束偶数坐标p24、相交坐标p22、p23以及第一条第一外轮廓线路径l24。

针对其他扫描线7、8、9依次进行迭代计算,将所述坐标系中第一条扫描线的扫描方向上的起始奇数坐标与结束偶数坐标之间的直线段,以及所述第一条第一外轮廓线路径确定为填充区域;并从所述坐标数组中去除所述起始奇数坐标、结束偶数坐标、以及第一条第一外轮廓线路径;直至该目标填充区域的最后一条扫描线迭代结束。

判断所述坐标数组中的相交坐标是否为空;在所述坐标数组中的相交坐标不为空时,进入步骤s342;请再次结合图9,也就是说,从所述坐标数组中的剩余的相交坐标中选择最靠近y轴坐标最小的扫描线的起始方向的点p7作为起始奇数坐标,重复上述步骤,直至弓形扫描线(虚线)走到相交坐标p23,迭代计算直至所有的相交坐标均被扫描线覆盖后结束。

图9为对图6中的目标闭合图形按照所述步骤s440的方式进行路径计算后,得到的激光打标路径图。

请一并结合图11和图12,为本发明第四实施例中的一种针对具有内部闭合空腔的闭合图形,基于弓形扫描填充的方式的,闭合图形的激光打标填充算法205的方法流程图,所述闭合图形的激光打标填充算法205与第三实施例中的闭合图形的激光打标填充算法204相似,其中步骤s510,步骤s520、步骤s530、步骤s551、步骤552、步骤553以及步骤554与第三实施例相同,在此不再赘述;其不同在于,

所述步骤s540,具体可以包括步骤:

步骤s541,根据所述激光头的打标扫描方式以及所述坐标数组中的相交点的坐标,确定所述坐标数组中的起始奇数坐标以及该起始奇数坐标对应的扫描线的扫描方向;

在图11a中,将最靠近y轴坐标最小的扫描线的起始方向的点作为起始奇数坐标。例如,第一条扫描线0的最左边的坐标作为起始奇数坐标。

步骤542,获取自所述起始奇数坐标起依该扫描线的扫描方向顺序的第一条与该扫描线相交的第一外轮廓线路径,以确定所述第一条第一外轮廓线路径与该扫描线相交的结束偶数坐标,并将所述第一条第一外轮廓线路径与下一条扫描线相交的交点坐标为下一扫描线的起始奇数坐标;

由于本实施例中,采用的弓形扫描填充方式,当一条扫描线与所述目标闭合图形的相交坐标超过两个时,扫描路径在遇到第一个偶数相交坐标时,会沿所述第一外轮廓线路径移向下一扫描线。

步骤5431,确定下一扫描线的起始奇数坐标是否为该下一条扫描线对应的坐标数组中的第奇数个坐标;

步骤5432,在所述下一扫描线的起始奇数坐标为该下一条扫描线对应的坐标数组中的第奇数个坐标时,确定该下一扫描线的扫描方向与上一条扫描线相同,并返回步骤s542;

步骤5433,在所述下一扫描线的起始奇数坐标为该下一条扫描线对应的坐标数组中的第偶数个坐标时,确定该下一扫描线的扫描方向与上一条扫描线相反,并返回步骤s542;

步骤544,依次对所述目标填充区域内的最后一条扫描线计算完毕后,将所述每一条扫描线对应的起始奇数坐标与结束偶数坐标之间的直线段,所述每一条扫描线对应的起始奇数坐标与结束偶数坐标之间的第二外轮廓路径,以及所述每一条扫描线对应的第一条第一外轮廓线路径作为填充区域,并从所述坐标数组中去除所述起始奇数坐标、结束偶数坐标、第二外轮廓路径以及第一条第一外轮廓线路径;

步骤s545,判断所述坐标数组中的相交坐标是否为空;

步骤s546,在所述坐标数组中的相交坐标不为空时,进入步骤s541;

也就是说,在所述步骤s346中,当第一条扫描路径计算完毕后,从所述坐标数组中的剩余的相交坐标中选择最靠近y轴坐标最小的扫描线的起始方向的点作为起始奇数坐标,再次进行计算,迭代计算直至所有的相交坐标均被扫描线覆盖后结束。

步骤s547,在所述坐标数组中的相交坐标为空时,根据确定的填充区域和扫描方向进行插补计算,确定所述目标填充区域内的激光打标路径。

进一步地,所述步骤s541可以具体包括:

步骤s5411,根据所述激光头的打标扫描方式以及所述坐标数组中的相交点的坐标,确定所述坐标数组中的起始奇数坐标;

步骤s5412,判断自所述起始奇数坐标起依该扫描线的扫描方向顺序的第一条与该扫描线相交的第一外轮廓线路径是否存在与下一扫描线相交的交点坐标;

步骤s5413,若是,则确定该扫描线的扫描方向不变;

步骤s5414,若否,则确定该扫描线的扫描方向调转,并重新确定所述起始奇数坐标。

例如,请一并结合图11b,针对第二次迭代计算时,首先确定p3为所述起始奇数坐标,从左至右扫描,由于p8已经从坐标数组中删除,因此此时第一条与该扫描线0相交的第一外轮廓线路径l4不存在与下一扫描线相交的交点坐标;此时,确定该扫描线0的扫描方向调转,并重新确定p4为所述起始奇数坐标

请再次参考图11,针对具有内部闭合空腔的闭合图形,基于弓形扫描填充的方式时,首先确定所述坐标数组中第一条扫描线0对应的第一个坐标p1为起始奇数坐标,依次迭代计算得到图中的实线扫描线路径;然后进行二次迭代计算,得到图中的虚线扫描线路径。

请再次参照图1,在一实施例中,本发明还提出一种激光打标系统,包括用于进行图形数据处理的存储器11、处理器12及存储在存储器11上并可在处理器12上运行的计算机程序,其中所述存储在所述存储器11上的计算机程序被所述处理器12执行时实现上述任一实施例中的闭合图形的激光打标填充算法的步骤。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例中的闭合图形的激光打标填充算法的步骤。

可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第n实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1