一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向分层与连续相结合的打印的最大最小距离快速计算方法

2023-02-02 02:34:17 来源:中国专利 TAG:


1.本发明涉及图像处理技术,具体涉及对三维模型切片图像的分割、细化、边界点获取等技术,从而获取每张图片对应的最大最小距离,实现分层打印与连续打印的决策。


背景技术:

2.随着美国《时代》周刊将3d打印技术列为“美国十大增长最快的工业”,3d打印技术的发展呈现出快速增长势头。3d打印技术是一种新兴的快速成型技术,是一种以数字模型文件为基础,运用粉末状金属或塑料等粘合材料,通过逐层打印的方式来构造物体的技术。从行业分布来看,用于消费电子领域的打印技术仍然占主导地位,大约占20.3%的市场份额,其他主要领域依次是汽车(19.5%)、医疗和医科(15.1%)、工业及商用机器(10.8%);从区域分布来看,北美地区(40.2%)、欧洲(29.1%)、亚洲(26.3%)三大区域占主导地位,其中亚洲地区主要集中于日本(38.7%)及中国(32.9%)。
3.3d打印技术最早出现于20世纪90年代中期,属于快速成型技术的一种,又称增材制造。它的工作原理与普通的打印类似,打印机使用光敏树脂、pla耗材等打印材料,与电脑连接后,通过电脑控制将材料层层叠加,最终实现计算机中的三维模型蓝图。
4.如今,市场上的快速成型技术有很多,如:熔融沉积制造技术(fused deposition modeling,fdm),立体平板印刷技术(stereo lithography apparatus,sla),选择性激光烧结技术(selected laser sintering,sls),激光成型技术(digital lighting process,dlp),叠层实体制造技术(laminated object manufacturing,lom)和uv紫外线成型技术等。其中,dlp技术以打印速度快和打印精度高著称,较多应用于珠宝铸造、牙科医疗等领域。
5.传统的dlp打印属于分层打印,虽然较sla等点固化技术速度要快,但是仍然无法达到应用于大规模生产的要求。2015年,joseph desimone教授提出了clip技术,实现了dlp的连续打印,大大提升了打印速度和打印精度。2019年mirkin等人提出使用氟油代替clip中的dead zone,实现连续打印。至今,对于连续打印的研究一直都在进行,但是连续打印一直存在对模型尺寸的限制。2021年,wu等人提出了maximum fillable distance(mfd)。通过计算切片图像的最大最小距离,与mfd进行比较,获得一种将连续打印和分层打印相结合的打印控制方案。但是他们的最大最小距离计算算法存在两个主要缺陷:(1)无法计算复杂切片图像的最大最小距离(2)计算较大,计算速度慢。


技术实现要素:

6.本发明提供了一种面向分层与连续相结合的打印的最大最小距离快速计算方法,用于快速计算某个模型切片图像的最大最小距离,提供针对此模型的最优打印方案。
7.为了实现上述方法,具体步骤如下:
8.步骤100、首先,在同一打印条件下,打印不同半径的圆柱体模型。找到没有成型异
常现象的圆柱体模型最大半径,即为此打印条件下的树脂最大可填充距离,记为mfd;
9.步骤200、遍历一个模型所有的切片图像。对输入的切片图像进行一系列预处理操作。首先将图片二值化,随后对图片进行边缘提取,使用边界追踪算法获得图片中的所有外边界。根据外边界获得图片中所有相互独立的小曝光区域,其中第i个曝光区域的边界点集合记为vi;
10.步骤300、遍历所有的曝光区域,获得每个曝光区域的最小外接矩形。利用曝光区域的外边界点,使用掩膜将当前曝光区域提取出来。判断当前曝光区域是否为实心区域,是则跳转到步骤400,否则跳转到步骤500;
11.步骤400、对提取后的曝光区域进行细化,得到本区域的骨架点。计算骨架点与所有边界点的距离,获得最小值。找到所有骨架点对应最小值的最大值,即为此区域的最大最小距离。计算得到当前曝光区域的最大最小距离后跳转到步骤600;
12.步骤500、提取后的曝光区域记为c。填充曝光区域,得到d。对d进行细化,得到骨架点。计算骨架点与所有外边界点的距离,获得最小值。其中,计算骨架点到外边界点的距离为两点相连直线在c所经过的白色区域的距离。找到所有骨架点对应最小值的最大值,即为此区域的最大最小距离。计算得到当前曝光区域的最大最小距离后跳转到步骤600;
13.步骤600、找到所有曝光区域的最大最小距离的最大值,则为当前切片图像的最大最小距离。将其与mfd进行比较得到切片图像对应层的打印决策。
14.其中,首先,在同一打印条件下,打印不同半径的圆柱体模型。找到模型未出现成型异常的最大半径,即为此打印条件下的mfd的步骤100包括:
15.在当前打印条件下,采用连续打印技术打印不同半径的圆柱体模型。观察打印结果,找到未出现树脂填充不足导致的模型中心向下凹陷甚至出现白色区域的成型异常现象的圆柱体模型,以最大半径作为此打印条件下的树脂最大可填充距离,即mfd。
16.其中,遍历一个模型所有的切片图像。对输入的切片图像进行一系列预处理操作。首先将图片二值化,随后对图片进行边缘提取,使用边界追踪算法获得图片中的所有外边界。根据外边界获得图片中所有相互独立的小曝光区域,其中第i个曝光区域的边界点集合记为vi的步骤200包括:
17.对输入图像,使用125作为阈值将图像二值化,使其像素值取值为0和255,记为a;
18.首先,对图像进行高斯滤波,高斯核大小设为(3,3)。随后使用canny算子对图像进行边缘化处理,阈值上限为250,阈值下限为100,结果图像记为b。
19.随后,对b自上而下、自左而右地扫描图像中的像素点。以最新遇到的非零像素点为边界起点,按照八邻域追踪下一边界点。同样,以下一边界点为起点继续追踪,直至最后一个边界点。每遍历完一个完整边界,便继续以原始起点继续扫描图像。其中,已遍历边界及其内部不再扫描。以此得到图像中的所有外边界点。
20.每一个外边界即对应一个独立的曝光区域。其中第i个曝光区域的边界点集合记为vi。
21.遍历所有的曝光区域,获得每个曝光区域的最小外接矩形。利用曝光区域的外边界点,使用掩膜将当前曝光区域提取出来。判断当前曝光区域是否为实心区域,是则跳转到步骤400,否则跳转到步骤500的步骤300包括:
22.遍历当前曝光区域的所有外边界点,记录下横坐标、纵坐标的最大值和最小值。以
此可以确定曝光区域的最小外接矩形。其中,第i个曝光区域对应的最小外接矩形记为ti;
23.使用步骤200中获取的vi来创建一个mask掩膜,将掩膜与a相乘,得到一个只留有第i个曝光区域的结果图像,并使用最小外接矩形ti裁剪出第i个曝光区域;
24.根据曝光区域内部是否全部为白色曝光点分为实心区域和嵌套区域。如果为实心区域,跳转到步骤400,否则为嵌套区域,跳转到步骤500。
25.其中,对提取后的曝光区域进行细化,得到本区域的骨架点。计算骨架点与所有外边界点的距离,获得最小值。找到所有骨架点对应最小值的最大值,即为此区域的最大最小距离。计算得到当前曝光区域的最大最小距离后跳转到步骤600的步骤400包括:
26.因为vi中存储的是裁剪前的曝光区域边界点坐标,所以无法直接使用。记最小内接矩形ti中横坐标最小值为minx,纵坐标最小值为miny。将vi中所有点的横纵坐标分别减去minx、miny。
27.使用《a fast parallel algorithm for thinning digital patterns》细化算法对提取的曝光区域进行细化,得到骨架点。其中,细化操作为多次迭代寻找非骨架点并删除。一次迭代分为两次子迭代。第一次子迭代删除右下边界点和左上角点,第二次迭代删除左上边界点和右下角点。
28.计算骨架点到vi中所有点之间的距离。记所有骨架点与边界点之间距离最小值的最大值为当前曝光区域的最大最小距离。跳转到步骤600。
29.其中,提取后的曝光区域记为c。填充曝光区域,得到d。对d进行细化,得到骨架点。计算骨架点与所有外边界点的距离,获得最小值。其中,计算骨架点到外边界点的距离为两点相连直线在c所经过的白色区域的距离。找到所有骨架点对应最小值的最大值,即为此区域的最大最小距离。计算得到当前曝光区域的最大最小距离后跳转到步骤600的步骤500包括:
30.因为vi中存储的是裁剪前的曝光区域边界点坐标,所以无法直接使用。记最小内接矩形ti中横坐标最小值为minx,纵坐标最小值为miny。将vi中所有点的横纵坐标分别减去minx、miny。
31.提取后的曝光区域记为c。对c进行填充,得到d。使用《a fast parallel algorithm for thinning digital patterns》细化算法对d进行细化,得到骨架点。其中,细化操作一次迭代分为两次子迭代。第一次子迭代删除右下边界点和左上角点,第二次迭代删除左上边界点和右下角点。
32.遍历所有骨架点,计算骨架点到vi中所有点的距离。其中,计算骨架点到外边界点的距离为两点相连直线在c中所经过的白色区域的距离。具体计算方法为:根据骨架点与边界点坐标得到两点相连的直线方程。遍历直线经过的所有像素点,记录下所有像素值与前一像素点不同的像素点,记为集合p。集合p中的每个点都代表着直线上像素值的变化。利用集合p中的交点将骨架点与边界点相连的直线分成多个线段,求得经过白色区域的线段距离之和。
33.找到所有内部白色像素点对应最小值的最大值,即为此区域的最大最小距离。计算得到结果后跳转到步骤600。
34.找到所有曝光区域的最大最小距离的最大值,则为整个图像的最大最小距离。将其与mfd进行比较得到切片图像对应层的打印决策的步骤600包括:
35.记录下所有曝光区域的最大最小距离,取最大值作为结果;
36.比较结果与mfd的大小,如果结果大于mfd,则说明树脂无法及时填充,此切片图像对应层为分层打印;如果结果小于mfd,则说明树脂可以及时填充,对应层为连续打印。
37.本发明中的一种面向分层与连续相结合的打印的最大最小距离快速计算方法
38.具有以下优点:
39.(1)与前人相比提高了计算速度,并扩大了算法的适用范围;
40.(2)提高打印速度和打印精度;
41.(3)可移植性,对于不同的树脂材料、投影光源等条件,具有不同的mfd。根据不同的mfd可以得到不同的决策结果;
42.(4)自动化,避免了人工判断的误差,使得决策结果更加精准。
附图说明
43.图1一种面向分层与连续相结合的打印的最大最小距离快速计算方法的流程图
44.图2像素点八邻域示意图
45.图3细化算法一次迭代示意图
46.图4对于嵌套区域最大最小距离计算方法示意图
具体实施方式
47.下文将结合附图对本算法进行详细说明。需要说明的是,在不冲突的情况下,本算法适合于大多数的模型切片图像。
48.本技术提出了一种面向分层与连续相结合的打印的最大最小距离快速计算方法,实现对切片图像的最大最小距离的快速求取,对模型的每一层实现分层打印和连续打印的决策,提高打印效率。
49.图1显示了本技术的一种面向分层与连续相结合的打印的最大最小距离快速计算方法的流程图。
50.本技术提出了一种面向分层与连续相结合的打印的最大最小距离快速计算方法,具体步骤如下:
51.步骤100、首先,在同一打印条件下,打印不同半径的圆柱体模型。找到没有成型异常现象的圆柱体模型最大半径,即为此打印条件下的树脂最大可填充距离,记为mfd;
52.步骤200、遍历一个模型所有的切片图像。对输入的切片图像进行一系列预处理操作。首先将图片二值化,随后对图片进行边缘提取,使用边界追踪算法获得图片中的所有外边界。根据外边界获得图片中所有相互独立的小曝光区域,其中第i个曝光区域的边界点集合记为vi;
53.步骤300、遍历所有的曝光区域,获得每个曝光区域的最小外接矩形。利用曝光区域的外边界点,使用掩膜将当前曝光区域提取出来。判断当前曝光区域是否为实心区域,是则跳转到步骤400,否则跳转到步骤500;
54.步骤400、对提取后的曝光区域进行细化,得到本区域的骨架点。计算骨架点与所有边界点的距离,获得最小值。找到所有骨架点对应最小值的最大值,即为此区域的最大最小距离。计算得到当前曝光区域的最大最小距离后跳转到步骤600;
55.步骤500、提取后的曝光区域记为c。填充曝光区域,得到d。对d进行细化,得到骨架点。计算骨架点与所有外边界点的距离,获得最小值。其中,计算骨架点到外边界点的距离为两点相连直线在c所经过的白色区域的距离。找到所有骨架点对应最小值的最大值,即为此区域的最大最小距离。计算得到当前曝光区域的最大最小距离后跳转到步骤600
56.步骤600、找到所有曝光区域的最大最小距离的最大值,则为当前切片图像的最大最小距离。将其与mfd进行比较得到切片图像对应层的打印决策。
57.所述步骤100包括以下子步骤:
58.子步骤110、在同一打印条件下,使用连续打印技术打印多个不同半径的圆柱体模型,这些圆柱体半径以0.5mm为间隔进行扩大。
59.子步骤120、观察打印结果,找到没有出现树脂填充不足导致的打印模型中心凹陷甚至中心出现白色区域的成型异常现象的模型,以这些圆柱体模型的最大半径作为当前打印条件下树脂的最大可填充距离,即mfd。
60.所述步骤200包括以下子步骤:
61.子步骤210、使用阈值125,将3通道的图像转换为1通道的二值图,记为a;
62.子步骤220、首先,对图像进行高斯滤波,高斯核大小设为(3,3)。随后使用canny算子对图像进行边缘化处理,阈值上限为250,阈值下限为100,记为b。记录图像中的所有外边界,以此来确定图像中所有的独立白色曝光区域;
63.子步骤230、对b自上而下、自左而右地扫描图像中的像素点。以最新遇到的非零像素点为边界起点,按照八邻域追踪下一边界点。同样,以下一边界点为起点继续追踪,直至最后一个边界点。每遍历完一个完整边界,便继续以原始起点继续扫描图像。其中,已遍历边界及其内部不再扫描。以此得到图像中的所有外边界点。其中第i个曝光区域的外边界点集合记为vi。
64.进一步的,步骤300中包括以下子步骤:
65.子步骤310、遍历当前曝光区域的所有边界点,记录下横坐标、纵坐标的最大值和最小值,由此确定当前曝光区域的最小外接矩形。其中,第i个曝光区域对应的最小外接矩形记为ti;
66.子步骤320、使用步骤200中获取的vi来创建一个mask掩膜,将掩膜与a相乘,得到一个只留有第i个曝光区域的结果图像,并使用最小外接矩形ti裁剪出第i个曝光区域;
67.子步骤330、根据曝光区域内部是否全部为白色曝光点分为实心区域和嵌套区域。如果为实心区域,跳转到步骤400,否则为嵌套区域,跳转到步骤500。
68.进一步的,步骤400包括:
69.子步骤410、记最小内接矩形ti中横坐标最小值为minx,纵坐标最小值为miny。将vi中所有点的横纵坐标分别减去minx、miny;
70.子步骤420、使用《a fast parallel algorithm for thinning digital patterns》细化算法对提取的曝光区域进行细化。细化操作为多次迭代删除符合条件的像素点直至没有,剩余白色像素点即为骨架点,如下所示:
71.一次迭代分为两次子迭代。图2为像素点八邻域的示意图。p1为当前像素点,p2为p1上方的邻域像素,p3为p1右上方的邻域像素点,p4为p1右侧的邻域像素点,p5为p1右下方的邻域像素点,p6为p1下方的邻域像素点,p7为p1左下方的邻域像素点,p8为p1左侧的邻域像素
点,p9为p1左上方的邻域像素点。第一次子迭代,如图3(a)所示红色点为本次子迭代需要删除的像素点,目的是删除图像中的右下边界点和左上角点,它们需要满足以下所有条件:(1)2≤b(p1)≤6(2)a(p1)=1(3)p2*p4*p6=0(4)p4*p6*p8=0。其中,b(p1)代表当前像素点八邻域内非零像素点的个数,a(p1)代表当前像素点顺时针方向八邻域像素点0-1变化次数,p2*p4*p6=0代表像素点p2、p4、p6至少一点的像素值为0,p4*p6*p8=0代表像素点p4、p6、p8至少一点的像素值为0。第二次子迭代,如图3(b)所示红色点为本次子迭代需要删除的像素点,目的是删除图像中的左下边界点和右上角点,它们需要满足以下所有条件:(1)2≤b(p1)≤6(2)a(p1)=1(3)p2*p4*p8=0(4)p2*p6*p8=0。其中,b(p1)代表当前像素点八邻域内非零像素点的个数,a(p1)代表当前像素点顺时针方向八邻域像素点0-1变化次数,p2*p4*p8=0代表p2、p4、p8至少一点的像素值为0,p2*p6*p8=0代表p2、p6、p8至少一点的像素值为0;
72.子步骤430、图像经过细化操作后得到曝光区域的骨架点。遍历所有骨架点,计算骨架点到vi中所有点的距离。
73.子步骤430、根据上述结果,找到所有骨架点对应距离最小值的最大值即为此曝光区域的最大最小距离。计算得到结果后跳转到步骤600。
74.进一步的,步骤500包括:
75.子步骤510、记最小内接矩形ti中横坐标最小值为minx,纵坐标最小值为miny。将vi中所有点的横纵坐标分别减去minx、miny;
76.子步骤520、提取后的曝光区域记为c。对c进行填充,得到d。使用《a fast parallel algorithm for thinning digital patterns》细化算法对d进行细化,得到骨架点。细化操作为多次迭代删除符合条件的像素点直至没有,剩余白色像素点即为骨架点,如下所示:
77.一次迭代分为两次子迭代。图2为像素点八邻域的示意图。p1为当前像素点,p2为p1上方的邻域像素,p3为p1右上方的邻域像素点,p4为p1右侧的邻域像素点,p5为p1右下方的邻域像素点,p6为p1下方的邻域像素点,p7为p1左下方的邻域像素点,p8为p1左侧的邻域像素点,p9为p1左上方的邻域像素点。第一次子迭代,如图3(a)所示红色点为本次子迭代需要删除的像素点,目的是删除图像中的右下边界点和左上角点,它们需要满足以下所有条件:(1)2≤b(p1)≤6(2)a(p1)=1(3)p2*p4*p6=0(4)p4*p6*p8=0。其中,b(p1)代表当前像素点八邻域内非零像素点的个数,a(p1)代表当前像素点顺时针方向八邻域像素点0-1变化次数,p2*p4*p6=0代表像素点p2、p4、p6至少一点的像素值为0,p4*p6*p8=0代表像素点p4、p6、p8至少一点的像素值为0。第二次子迭代,如图3(b)所示红色点为本次子迭代需要删除的像素点,目的是删除图像中的左下边界点和右上角点,它们需要满足以下所有条件:(1)2≤b(p1)≤6(2)a(p1)=1(3)p2*p4*p8=0(4)p2*p6*p8=0。其中,b(p1)代表当前像素点八邻域内非零像素点的个数,a(p1)代表当前像素点顺时针方向八邻域像素点0-1变化次数,p2*p4*p8=0代表p2、p4、p8至少一点的像素值为0,p2*p6*p8=0代表p2、p6、p8至少一点的像素值为0;
78.子步骤530、图像经过细化操作后得到曝光区域的骨架点,即骨架点。遍历所有骨架点,计算骨架点到vi中所有点的距离。其中,计算骨架点到外边界点的距离为两点相连直线经过的白色区域的距离。如图4所示,虚线为内部点与外边界点相连的直线,则距离为r1 r2。具体计算方法为:计算得到骨架点与外边界点相连的直线方程。遍历直线经过的所有像素点,记录下所有像素值与前一像素点不同的像素点,记为集合p。集合p中的每个点都代表
着直线上像素值的变化。利用集合p中的交点将骨架点与外边界点相连的直线分成多个线段,求得经过白色区域的线段距离之和,即为图4中的r1 r2;
79.子步骤540、找到所有骨架点对应最小值的最大值,即为此区域的最大最小距离。计算得到结果后跳转到步骤600。
80.所述步骤600包括:
81.子步骤610、找到所有曝光区域的最大最小距离的最大值,即此切片图像的最大最小距离;
82.子步骤620、将其与mfd相比较。如果结果大于mfd,则说明树脂无法及时填充,此切片图像对应层为分层打印;如果结果小于mfd,则说明树脂可以及时填充,对应层为连续打印。
83.本发明中的一种面向分层与连续相结合的打印的最大最小距离快速计算方法具有以下优点:
84.(1)与前人相比提高了计算速度,并扩大了算法的适用范围;
85.(2)提高打印速度和打印精度;
86.(3)可移植性,对于不同的树脂材料、投影光源等条件,具有不同的mfd。根据不同的mfd可以得到不同的决策结果;
87.(4)自动化,避免了人工判断的误差,使得决策结果更加精准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献