1.一种线结构光中心线提取方法,其特征在于,包括以下步骤:
步骤1、对CCD工业相机采集到的图像进行图像灰度化、图像增强、图像去噪处理,得到预处理后的光条图像;
步骤2、对预处理后的光条图像进行二值化、形态学开闭运算和图像光条区域分割处理,得到二值化后的封闭光条图像;
步骤3、采用细化算法对步骤2二值化后的封闭光条图像进行细化处理,得到包含单像素光条中心线的图像;
步骤4、从步骤3的单像素光条中心线上确定感兴趣区域,对感兴趣区域进行中值滤波;
按照已确定的约束阈值和1×5的可行动模板在图像行上移动,利用Steger算法求取粗略的中心点法向;通过高斯函数的可分离性及对称性求出Hessian矩阵;最后用泰勒二次展开得到亚像素级中心坐标;
所述步骤4中,光条粗略中心点的提取过程,具体包括:
步骤4.1,为了保证中心点提取的精度,先用一个大小为3×3的模板对光条图像进行膨胀化处理,保证处理的图像区域像素宽度比原来大;
步骤4.2,对一个有M×N个像素的图像Z,它在第i行j列处像素点的灰度值表示成Z(i,j),当满足Z(i,j)>S(T)(0≤j≤N)时,S(T)表示限制条件阈值,在i行用1×5的可移动窗口在图像行上移动,统计可移动窗口下5个像素点灰度值的和,在该行中使5个像素之和最大的点便是该行上光带中心的粗略位置;
步骤4.3,继续找出i+1中符合条件的点,直到i=M终止循环。
2.根据权利要求1所述的一种线结构光中心线提取方法,其特征在于,所述步骤1对光条图像进行预处理具体包括:对CCD工业相机采集到的图像进行图像灰度化、图像增强、图像去噪处理,具体包括:步骤1.1,将彩色图像转化成为灰度图像。求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量,对图形进行灰度化处理;
步骤1.2,通过灰度变换,将灰度化后的图像灰度值拉伸到整个0‑255的区间,大幅增强其对比度,用如下的公式来将某个像素的灰度值映射到更大的灰度空间:在式(1)中,x、y表示图像像素点(x,y)的横纵坐标;I(x,y)、Imax、Imin分别表示原始图像及其最小灰度值、最大灰度值;MIN和MAX是要拉伸到的灰度空间的灰度最小值和最大值。
步骤1.3,对图像进行中值滤波处理,采用一个含奇数个点的滑动窗口,用窗口的中的灰度值的中值来代替中心点的灰度值,其实就是对这个窗口中的灰度值进行排序,然后将其中值赋值给中心点即可,具体步骤如下:(1)获得源图像的首地址及图像的宽和高;
(2)开辟一块内存缓冲区,用以暂存结果图像,并初始化为0;
(3)逐个扫描图像中的像素点,将其邻域各元素的像素值从小到大进行排序,将求得到的中间值赋值给目标图像中与当前点对应的像素点;
(4)循环步骤(3),直到处理完源图像的全部像素点;
(5)将结果从内存缓冲区复制到源图像的数据区。
3.根据权利要求1所述的一种线结构光中心线提取方法,其特征在于,步骤2对预处理后的光条图像进行二值化、形态学开闭运算和图像光条区域分割处理,得到二值化后的封闭光条图像,具体包括:步骤2.1,利用图像中目标与背景的差异,把图像分别设置为两个不同的级别,选取一个阈值,以确定某像素是目标还是背景,从而获得二值化的图像;
步骤2.2,对图像进行形态学闭运算处理,通过先膨胀后腐蚀的过程,来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积,以便后续确定光条中心线的位置;
步骤2.3,对图像进行光条区域分割处理,采用Canny算子求边缘点具体算法步骤如下:(1)用高斯滤波器平滑图像;
(2)用一阶偏导有限差分计算梯度幅值和方向;
(3)3对梯度幅值进行非极大值抑制;
(4)用双阈值算法检测和连接边缘。
4.根据权利要求3所述的一种线结构光中心线提取方法,其特征在于,所述步骤3采用细化算法对步骤2二值化后的封闭光条图像进行细化处理,得到包含单像素光条中心线的图像,具体包括:通过Zhang‑Suen细化算法获得图像的骨架,作为图像的特征之一,用来作为识别或者模式匹配。
5.根据权利要求1所述的一种线结构光中心线提取方法,其特征在于,步骤5中,所述通过高斯函数的可分离性及对称性求出Hessian矩阵,具体包括:二维图像的Hessian矩阵可以表示为:
在式(1.2)中,x、y表示结构光条纹上的任意一点(x,y)的横纵坐标;H(x,y)、g(x,y)分别表示Hessian矩阵函数和二维高斯函数,设置高斯方差 rxx、rxy和ryy是图像灰度函数r(x,y)的二阶偏导数,利用高斯核函数和原图卷积的运算得到下式:其中,x、y表示结构光条纹上的任意一点(x,y)的横纵坐标;I(x,y)表示原始图像;g(x,y)表示二维高斯函数,设置高斯方差 图像的法向(nx,ny)是Hessian矩阵中绝对值最大的特征值对应的特征向量,图像灰度函数的二阶方向导数就是Hessian矩阵中绝对值最大的特征值,图像的每个像素点至少要做5次二维高斯卷积才能求出Hessian矩阵。
6.根据权利要求5所述的一种线结构光中心线提取方法,其特征在于,步骤5中,所述用泰勒二次展开得到亚像素级中心坐标,具体包括:二维图像中任意一个像素点(xo,yo)的相邻像素点可以用二次泰勒多项式表示如下:由图像f(x,y)和高斯核卷积可得g(xo,yo)、gx(xo,yo)、gy(xo,yo)、gxx(xo,yo)、gxy(xo,yo)和gyy(xo,yo);
二维图像f(x,y)在边缘方向n(x,y)上,其1阶方向导数值为零,线条边缘的中心点是使其二阶方向导数极值的绝对值最大的点,(nx,ny)表示n(x,y)的边缘方向,且(nx,ny)的模为
1,沿边缘方向可用(nx,ny)表示为:
由 可得 因此,(px,py)=(xo+
tnx,yo+tny)就是图像中(xo,yo)点处光条图像灰度值的极值点,若使一阶导数为零的点处在当前像素中即(tnx,tny)∈[‑0.5,0.5]×[‑0.5,0.5],那么(px,py)点就是要求的亚像素级光条中心点。
7.一种存储介质,该存储介质内部存储计算机程序,其特征在于,所述计算机程序被处理器读取时,执行上述权利要求1~6任一项所述的方法。