1.一种基于骨架线的填充路径生成方法,其特征在于:包括以下步骤:步骤1:根据设定的路径间距对输入的二维轮廓集合进行偏置,得到偏置轮廓;
步骤2:将偏置轮廓集合生成连通区域集合;
步骤3:获得每个连通区域的骨架线;
步骤4:根据骨架线对单个连通区域进行分割,获得若干个子区域;
步骤5:根据设定的路径间距在每个子区域内部生成子填充路径;
步骤6:对子填充路径进行连接,得到整个连通区域的填充路径;所述步骤2中,将偏置轮廓集合生成连通区域集合的具体步骤如下:步骤2‑1:遍历所有偏置轮廓,确定每个偏置轮廓的父轮廓数量;
步骤2‑2:父轮廓数量为偶数的为外轮廓,父轮廓数量为奇数的为内轮廓,并对偏置轮廓的方向进行调整,外轮廓为逆时针,内轮廓为顺时针;
步骤2‑3:父轮廓数量不大于1的内轮廓的外轮廓为有效父轮廓,对父轮廓数量大于1的内轮廓进行处理,具体方法为遍历其所有父轮廓,将距离该内轮廓最近的父轮廓作为其有效父轮廓,最终确保每个内轮廓的有效父轮廓的数量小于等于1;
步骤2‑4:将每个有效父轮廓与其包含的内轮廓进行组合,构成一个连通区域;所述步骤4中,根据骨架线对单个连通区域进行分割的具体步骤如下:步骤4‑1:将骨架线按照是否有一端在偏置轮廓上分成两组,第一组为两端都不在偏置轮廓上的主骨架线,第二组为有一个端点在偏置轮廓上的端骨架线,主骨架线由多条主骨架分段线组成,端骨架线由多条端骨架分段线组成;
步骤4‑2:划分主骨架分段线,确保每条主骨架分段线的首、尾连接有至少一条主骨架分段线和/或至少一条端骨架分段线;
步骤4‑3:对所有端骨架分段线进行遍历,删除与偏置轮廓线连接的端点对应的两侧偏o置轮廓线夹角大于150的端骨架分段线;
步骤4‑4:将首或尾只连接有一条端骨架分段线的主骨架分段线拷贝到端骨架线中,并从主骨架线中删除;
步骤4‑5:将端骨架分段线按照其偏置轮廓上的端点在偏置轮廓中的索引从小到大依次排序,并将排序后的同区域内相邻的端骨架分段线进行组合,得到两两组合的集合D;
步骤4‑6:将集合D的每组端骨架分段线组与相接的主骨架分段线和偏置轮廓进行连接构成一个闭合的多边形;所述步骤4‑3中,删除端骨架分段线的具体步骤如下:
步骤4‑3‑1:对组成连通区域的偏置轮廓上的点进行遍历,计算每个点相邻两条偏置轮廓的夹角α;
步骤4‑3‑2:遍历所有端骨架分段线,删除端骨架分段线与偏置轮廓线连接点所在夹角oα大于150的端骨架分段线;
步骤4‑3‑3:判断是否存在首或尾悬空的主骨架分段线,如果存在则需要从删除的端骨架分段线中恢复与其首或尾连接的端骨架分估线,确保该悬空端点连接有且只有一条端骨架分段线;
步骤4‑3‑4:判断连通区域中的每条偏置轮廓上是否都至少有一条端骨架分段线,如果没有则需要从删除的端骨架分段线中恢复一条端点在其偏置轮廓上的端骨架分段线;所述步骤4‑6中,将集合D中每组端骨架分段线组利用主骨架分段线和偏置轮廓进行连接构成一个闭合的多边形轮廓的具体步骤如下:步骤4‑6‑1:取出集合D中一组端骨架分段线组的任一条端骨架分段线作为当前骨架线T,将该条端骨架分段线不在偏置轮廓上的端点作为当前点P;
步骤4‑6‑2:判断该当前点P是否是集合D中另一条端骨架分段线的端点,若是,则将集合D中该组端骨架分段线以及两者相连的偏置轮廓相连,组成闭合的多边形轮廓,若否,执行步骤4‑6‑3;
步骤4‑6‑3:遍历所有主骨架分段线,搜索端点为P的主骨架分段线集合;
步骤4‑6‑4:若搜索到的端点为P的主骨架分段线只有一条,将其连接到当前骨架线T上,更新点P为当前骨架线T的最后一个点,返回步骤4‑6‑2,继续寻找,若搜索到的端点为P的主骨架分段线集合大于一条,从集合中寻找在当前骨架线T的最右侧的主骨架分段线,将其连接到当前骨架线T上,更新点P为当前骨架线T的最后一个点,返回步骤4‑6‑2,继续寻找,直至当前骨架线T的最后一点为集合D中另一条端骨架分段线的端点,循环终止,将集合D中该组端骨架分段线、两者相连的偏置轮廓以及当前骨架线T相连,得到闭合多边形轮廓;
步骤4‑6‑5:重复步骤4‑6‑1至步骤4‑6‑4,直至集合D中每组端骨架分段线组均形成闭合多边形轮廓;所述步骤5中,根据设定的路径间距在每个子区域内部生成子填充路径的具体步骤如下:步骤5‑1:将每个子区域的多边形轮廓分成两条多线段,第一条由主骨架分段线和端骨架分段线组成,第二条是偏置轮廓组成,两条多线段首尾相同;
步骤5‑2:根据设定的路径间距依次在两条多线段上采样,对偏置轮廓上的采样点沿着连接线向内偏移设定间距的一半,然后对采样点进行Z字形连接,获得该子区域的填充路径。
2.如权利要求1所述的一种基于骨架线的填充路径生成方法,其特征在于,所述步骤6中,对子填充路径进行连接的具体步骤为:对具有相同端点的子区域的填充路径进行连接,确保每条偏置轮廓对应一条子区域的填充路径,并将连通区域中的路径在最近处进行连接,最终获得整个连通区域的填充路径。