1.一种基于空间矩的线结构光中心提取方法,其特征在于:该方法包括如下步骤:
步骤一:利用经典Sobel边缘提取算子对光条图像进行检测,获得图像中光条上的各个边缘点的像素坐标(xi,yi),i=1,2,……n,n为所检出的边缘点个数,n取自然数,其中每个像素点对应的灰度值为I(xi,yi);
步骤二:求取过光条图像边缘点的光条截面,其包括如下子步骤:
步骤2.1:设步骤一所述其中一个边缘点的灰度梯度矢量为:
Sxi={I(xi+1,yi-1)+2I(xi+1,yi)+I(xi+1,yi+1)}]]>
-{I(xi-1,yi-1+2I(xi-1,yi)+I(xi-1,yi+1)}]]>
Syi={I(xi-1,yi+1)+2I(xi,yi+1)+I(xi+1,yi+1)}......(1)]]>
-{I(xi-1,yi-1)+2I(xi,yi-1)+I(xi+1,yi-1)}]]>
步骤2.2:将步骤2.1所述边缘像素点的灰度梯度矢量近似地作为该边缘点所处位置的光条曲线的法线方向,其斜率记作k′;
则该边缘像素点的理想法线方程为:
y-k′x-(yi-k′xi)=0……(2)
式(2)中,
同时,将像素坐标平面坐标系按45°角的间隔等分为8个方向Ki,i=1,2,3,4,5,6,7,8;则,将使ki(min)=|k′-Ki|最小的Ki值所对应的方向作为该边缘像素点所在位置的光条曲线的实际法线方向;
步骤2.3:若将步骤2.2所述光条曲线的法线所在的直线与光条自身的交线称为光条截面,则得到一个包含光条截面的像素点集合,同时,还得到这些像素点所对应的灰度值C(i),i=0,1,2,……m-1,m取自然数;
步骤三:建立一种基于空间矩理论的光条中心点的提取方法以及求取光条截面内光条中心点坐标的解析公式,其具体包括如下子步骤:
步骤3.1:建立光条截面内像素点的理想灰度分布模型
f(x)=hx∈[-1,l1)h+kx∈[l1,l2]hx∈(l2,1]······(3)]]>
式(3)中,h为背景灰度,k为灰度反差,l1和l2分别表示光条截面内光条的两个端点的坐标;
则光条截面内光条的中心点的坐标为
步骤3.2:空间矩计算公式为:
Mp=∫-11xpf(x)dx······(5)]]>
式(5)中p=0,1,2,3.......
根据式(5)和步骤2.3所述C(i),计算步骤2.3所述包含光条截面的m个像素点集合所对应的前四阶实际空间矩:
M0=Σi=0m-1∫-1+i·2m-1+(i+1)·2mC(i)dx=Σi=0m-1C(i)∫-1+i·2m-1+(i+1)·2mdx=Σi=0m-1C(i)m]]>
M1=Σi=0m-1∫-1+i·2m-1+(i+1)·2mC(i)·xdx=Σi=0m-1C(i)·∫-1+i·2m-1+(i+1)·2mxdx]]>
M2=Σi=0m-1∫-1+i·2m-1+(i+1)·2mC(i)·x2dx=Σi=0m-1C(i)·∫-1+i·2m-1+(i+1)·2mx2dx]]>
M3=Σi=0m-1∫-1+i·2m-1+(i+1)·2mC(i)·x3dx=Σi=0m-1C(i)·∫-1+i·2m-1+(i+1)·2mx3dx]]>
步骤3.3:根据空间矩计算公式(5)和光条截面内像素点的理想灰度分布模型式(3),计算步骤2.3所述包含光条截面所对应的前四阶理想空间矩;
根据空间矩不变原理,获得如下的四个方程:
M0=h∫-11dx+k∫l1l2dx=2h+k(l2-l1)······(6)]]>
M1=h∫-11xdx+k∫l1l2xdx=12k(l22-l12)······(7)]]>
M2=h∫-11x2dx+k∫l1l2x2dx=23h+13k(l23-l13)······(8)]]>
M3=h∫-11x3dx+k∫l1l2x3dx=14k(l24-l14)······(9)]]>
对式(6)、(7)、(8)、(9)四个方程做进一步整理和推导:
将方程(9)作为被除数,除以方程(7),得到
l22+l12=2M3M1······(10)]]>
将方程(8)乘以3后,与方程(6)作差,得到:
k(l2-l1)-k(l23-l13)=M0-3M2······(11)]]>
将方程(9)乘以2后,与方程(7)作差,得到:
12k(l22-l12)-12k(l24-l14)=M1-2M3······(12)]]>
将方程(11)与方程(12)做商,得到下式:
k(l2-l1)-k(l23-l13)12k(l22-l12)-12k(l24-l14)=M0-3M2M1-2M3······(13)]]>
通过整理,式(13)表示为如下形式
1-2×(l1+l22)2-l12+l222(l1+l22)·(1-(l12+l22))=M0-3M2M1-2M3······(14)]]>
令l1+l22=x,]]>M0-3M2M1-2M3=a,]]>l22+l12=2M3M1=b,]]>则式(14)可以表示为一个新的一元二次方程:
2x2+a(1-b)x+b2-1=0······(15)]]>
步骤3.4:利用求根公式对式(15)求解:
x=-a(1-b)±a2(1-b)2-4(b-2)4······(16)]]>
则落在区间[-1,1]上的解x即为所求的光条中心,式(16)则为求解光条截面内光条中心点的亚像素坐标位置的解析公式;
步骤四:利用步骤3.4所述解析公式,求取步骤一所述光条截面内光条的中心点的亚像素坐标值;
步骤五:令i=i+1,顺次选取下一个边缘点,重复步骤二至步骤四的过程,求取每一个边缘点对应光条截面的中心点的亚像素坐标值;
步骤六:判断步骤五中i的值,当i等于步骤一所述检出的边缘点个数n时,则认定已获得步骤一所述光条图像上所有边缘点对应的光条截面内光条中心点的亚像素坐标值,进而完成基于空间矩的线结构光中心提取方法。