1.一种基于串行轮廓搜索的熔覆池形状视觉检测方法,其特征在于,包括如下步骤:步骤1,采集金属三维打印熔覆池视频,从视频中提取单帧熔覆池彩色图像;
步骤2,针对提取的单帧熔覆池彩色图像进行灰度变换得到熔覆池灰度图像,进行灰度反转,得到与原灰度熔覆池图像灰度相反的灰度反转熔覆池图像,称为反灰度熔覆池图像;
步骤3,对反灰度熔覆池图像利用线性变换进行灰度拉伸,得到反灰度熔覆池灰度拉伸图像,再进一步对此拉伸图像进行均值滤波;
步骤4,对均值滤波后的图像进行边缘提取,计算得到熔覆池区域的二值图像;
步骤5,对熔覆池区域的二值图像进行串行轮廓搜索,得到熔覆池区域的二值轮廓图像;
步骤6,计算熔覆池区域二值轮廓图像中两两像素点的距离,记录距离最大值记为a,记录并求取距离最大值两像素点坐标中间点坐标,记为熔覆池区域的中心位置并存储。
2.根据权利要求1所述的方法,其特征在于,步骤2包括:将熔覆池灰度图像中每个像素点的灰度值利用以下公式重新赋值:gn(i,j)=255-g(i,j),
其中,g(i,j)为熔覆池灰度图像第i行和第j列的像素点灰度值,gn(i,j)为灰度反转熔覆池图像第i行和第j列的像素点灰度值。
3.根据权利要求2所述的方法,其特征在于,步骤3包括:利用线性变换将反灰度熔覆池图像中原灰度范围[gn1,gn2]拉伸为[ge1,ge2],gn1,gn2分别表示反灰度熔覆池图像原灰度最小值和最大值,ge1,ge2分别表示反灰度熔覆池图像拉伸后的灰度最小值和最大值,ge1的取值为50,ge2的取值为215。
4.根据权利要求3所述的方法,其特征在于,步骤3中,采用如下公式进行线性变换:ge(i,j)=[(ge2-ge1)/(gn2-gn1)]gn(i,j)+ge1,其中,ge(i,j)表示反灰度熔覆池灰度拉伸图像的第i行和第j列的像素点灰度值,[gn1,gn2]具体值根据反灰度熔覆池图像灰度范围求取。
5.根据权利要求4所述的方法,其特征在于,步骤4包括:
步骤4-1,利用局部差分算子对均值滤波后的图像进行如下边缘计算:▽f(i,j)=|f(i,j)-f(i+1,j+1)|+|f(i+1,j)-f(i,j+1)|,式中,f(i,j)为均值滤波后的图像第i行和第j列的像素点灰度值,▽f(i,j)为利用局部差分算子对均值滤波后的图像进行边缘计算所得图像第i行和第j列的像素点像素值;
步骤4-2,对边缘计算所得图像的所有像素点进行判别,判断各像素点像素值是否大于阈值M,如果大于阈值M,则令▽f(i,j)像素值置为1,否则置为0,最终得到熔覆池区域的二值图像。
6.根据权利要求5所述的方法,其特征在于,步骤5包括:
步骤5-1,按从上到下,从左到右的顺序找到熔覆池区域的二值图像中第一个像素值为
1的边缘点b1,检查点b1像素值是否满足设定的条件,如果满足,则b1为起始边缘点执行步骤
5-2;如不满足,给此点加上标记,像素值赋值为0,继续重复步骤5-1搜索起始边缘点;
步骤5-2,判别b1邻域中0像素的位置,用领域标记号ds表示,判别顺序为点b1的下方的下邻点到点b1的左边的左邻点,再到点b1的上方的上邻点,再到点b1的右边的右邻点,当b1下邻点为0时,令ds=6;当下邻点不为0,而左邻点为0时,令ds=4;当下邻点、左邻点都不为
0,而上邻点为0时,令ds=2;当下邻点、左邻点、上邻点都不为0,而右邻点为0时,令ds=0;
步骤5-3,由b1邻域中0像素位置出发,逆时针方向在8个邻近点中搜索像素值为1的像素点,最早搜索到的像素点即为第2个边缘点b2;
步骤5-4,当搜索第3个边缘点b3时,当前边缘点由b1移向b2,即在b2的基础上利用步骤5-
3继续搜索第3个边缘点,b2的8个邻点为搜索b3的候选点;
步骤5-5,利用步骤5-4中相同的方法搜索后续的边缘点,当第n个边缘点bn的坐标与b1的坐标相同时,则结束熔覆池区域二值图像的串行轮廓搜索,边缘点b1~bn组成的图像即为熔覆池区域的二值轮廓图像。
7.根据权利要求6所述的方法,其特征在于,步骤5-1中,检查点b1像素值是否满足以下两个条件:第一个条件:b1(i1,j1)=1,b1(i1,j1)为熔覆池区域的二值图像中第一个像素值为1的边缘点b1在第i1行和第j列的像素值;
第二个条件:点b1的4个邻点中,像素值为1的像素点个数n1≥2;
若满足以上两个条件,则b1为起始边缘点执行步骤5-2;如不满足,给此点加上标记,像素值赋值为0,继续重复步骤5-1搜索起始边缘点。