一种基于视觉检测的空管复合滤棒段长测量方法与流程

文档序号:12722589阅读:来源:国知局

技术特征:

1.一种基于视觉检测的空管复合滤棒段长测量方法,其特征在于,包括以下步骤:

步骤1:采集空管复合滤棒在蓝色背光照明下的原始图像,并对原始图像进行滤波处理;

步骤2:对经步骤1滤波后的滤波图像进行二值化处理,在垂直方向上粗定位空管复合滤棒所在二值化图像中的垂直坐标区间[y1,y2];

步骤3:获取原始图像中滤棒区的旋转角度,并进行相应的旋转矫正;

从经步骤1滤波后的滤波图像Io中取出垂直坐标区间[y1,y2]对应的第一精定位子图I01,并对第一精定位子图进行边缘点提取,利用提取的边缘点进行直线拟合,获取拟合直线与水平轴的夹角,并对滤波图像Io进行反向夹角旋转矫正,获得旋转矫正图Iro

步骤4:从旋转矫正图像Iro中定位空管复合滤棒上边界和下边界;

从旋转矫正图像Iro中分别在垂直坐标区间[y1-(y2-y1)/2,y2-(y2-y1)/2]和[y1+(y2-y1)/2,y2+(y2-y1)/2]的空管复合滤棒上边界和下边界区域子图Ir1和Ir2,并在空管复合滤棒上边界和下边界区域子图Ir1和Ir2图中计算纵向Sobel边缘响应并进行水平方向累积,提取累积最大值位置作为空管复合滤棒上边界和下边界

步骤5:从滤波图像Io中提取垂直坐标区间的第二精定位子图Ilr,并利用积分函数的二阶差分响应极值求取第二精定位子图Ilr中空管复合滤棒的左边界和右边界

步骤6:以空管复合滤棒的上、下、左、右边界从滤波图像Io中提取空管复合滤棒区域Idc,并对空管复合滤棒区域进行初始段标记;

以空管复合滤棒区域内每一列像素的归一化水平近邻差分响应均值构造稀疏矩阵,并在空管复合滤棒的不同区域随机选择种子线配合稀疏矩阵构造线性方程组;

以种子线在图Idc中的列号p在线性方程组的解的第p个位置处插入零,形成行向量Xm,m为种子线编号,将所有Xm按顺序写入标记矩阵Mar中,标记矩阵Mar的大小为S为种子线数量;在标记矩阵Mar中求每一列的最大值,记录最大值所在的行号为flag(i);

取flag的跃变点所对应的图像上横坐标位置作为第一次分界位置;

以第一次分界位置对空管复合滤棒区域进行初始段标记;

步骤7:构建准分界线矩阵;

以第一次分界位置两侧等宽区域内每一列的归一化水平近邻差分响应均值重新构造稀疏矩阵,并结合区域两侧边界为新的种子线构造线性方程组,求解线性方程组在第一次分界位置两侧分别获得两个新的准分界位置,作为第二次分界位置,以第一次分界位置和第二次分界位置,构建准分界线矩阵;

步骤8:在准分界线矩阵中,从同一列的准分界线位置中选取近邻块差分绝对值最大的位置作为精准分界线位置,完成对空管复合滤棒的精准段标记,并获得各段的长度测量值。

2.根据权利要求1所述的方法,其特征在于,所述以列像素的归一化水平邻近差分响应均值构造的稀疏矩阵M如下:

其中,稀疏矩阵大小为n×n,n为滤棒区域宽度;F(j)为图像中第j列像素的水平近邻差分均值,F*(j)是F(j)归一化值,Fe(j)是F*(j)的指数化值;λ为指数化缩放因子,取值为10;min(F)和max(F)分别是所有F(j)中的最小值和最大值;Idc(i,j)表示空管复合滤棒区域Idc中像素点(i,j)的像素值;n表示空管复合滤棒区域Idc中像素列数;Fe(j)=exp(-F*(j)λ),

3.根据权利要求2所述的方法,其特征在于,所述利用种子线和稀疏矩阵构造线性方程组过程如下:

首先,获取所有种子线所在图像中的列号值p;

其次,依次将稀疏矩阵M中的第p行和第p列删除,得到线性方程组的系数矩阵Q;

最后,依次将稀疏矩阵中位于第p行、第p列中的元素删除,得到线性方程组的常数项部分b,完成线性方程组Qx=b的构造;

其中,xm是线性方程组解向量中的第m个待求的相关性向量元素。

4.根据权利要求3所述的方法,其特征在于,所述精准分界线位置的求解具体过程如下:

步骤A:按照以下公式计算每个准分界位置处的大面积差分DifG|Loc=Dema(i,j)

<mrow> <mi>D</mi> <mi>i</mi> <mi>f</mi> <mi>G</mi> <msub> <mo>|</mo> <mrow> <mi>L</mi> <mi>o</mi> <mi>c</mi> <mo>=</mo> <mi>D</mi> <mi>e</mi> <mi>m</mi> <mi>a</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <munderover> <mi>&Sigma;</mi> <mrow> <mi>x</mi> <mo>=</mo> <mi>D</mi> <mi>e</mi> <mi>m</mi> <mi>a</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>R</mi> <mi>a</mi> <mi>d</mi> <mi>i</mi> <mi>u</mi> <mi>s</mi> </mrow> <mrow> <mi>D</mi> <mi>e</mi> <mi>m</mi> <mi>a</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> </mrow> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>y</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msubsup> <mi>y</mi> <mn>2</mn> <mo>*</mo> </msubsup> <mo>-</mo> <msubsup> <mi>y</mi> <mn>1</mn> <mo>*</mo> </msubsup> </mrow> </munderover> <msub> <mi>I</mi> <mrow> <mi>d</mi> <mi>c</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mi>x</mi> <mo>,</mo> <mi>y</mi> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>x</mi> <mo>=</mo> <mi>D</mi> <mi>e</mi> <mi>m</mi> <mi>a</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mi>D</mi> <mi>e</mi> <mi>m</mi> <mi>a</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>R</mi> <mi>a</mi> <mi>d</mi> <mi>i</mi> <mi>u</mi> <mi>s</mi> </mrow> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>y</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msubsup> <mi>y</mi> <mn>2</mn> <mo>*</mo> </msubsup> <mo>-</mo> <msubsup> <mi>y</mi> <mn>1</mn> <mo>*</mo> </msubsup> </mrow> </munderover> <msub> <mi>I</mi> <mrow> <mi>d</mi> <mi>c</mi> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mi>x</mi> <mo>,</mo> <mi>y</mi> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>/</mo> <mi>R</mi> <mi>a</mi> <mi>d</mi> <mi>i</mi> <mi>u</mi> <mi>s</mi> </mrow>

其中,Radius为差分半径,Dema(i,j)表示准分界线矩阵中位于第i行、第j列的元素,Idc(x,y)表示空管复合滤棒区域Idc中像素点(x,y)的像素值;

步骤B:在准分界线矩阵的每一列中,取能使大面积差分值最大的分界位置,作为最终的精准分界位置Dema*(i);

Dema*(i)=Dema(LocY(max(abs({DifG|Loc=Dema(i,j)})))),j=1,2,3;

其中,abs表示取绝对值,max表示取最大值,LocY表示其括号中所取元素所在行号。

5.根据权利要求4所述的方法,其特征在于,所述空管复合滤棒各段的长度测量值按如下公式计算:

<mrow> <mi>LenSect</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>Presion</mi> <mo>*</mo> <mrow> <mo>(</mo> <msup> <mi>Dema</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <msubsup> <mi>x</mi> <mn>1</mn> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> </mrow>

LenSect(2)=Presion*(Dema*(2)-Dema*(1))

LenSect(3)=Presion*(Dema*(3)-Dema*(2))

LenSect(4)=Presion*(Dema*(4)-Dema*(3))

<mrow> <mi>L</mi> <mi>e</mi> <mi>n</mi> <mi>S</mi> <mi>e</mi> <mi>c</mi> <mi>t</mi> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>Pr</mi> <mi>e</mi> <mi>s</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mo>*</mo> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mn>2</mn> <mo>*</mo> </msubsup> <mo>-</mo> <msup> <mi>Dema</mi> <mo>*</mo> </msup> <mo>(</mo> <mn>4</mn> <mo>)</mo> <mo>)</mo> </mrow> </mrow>

其中,Presion是像素精度,是物理长度和像素长度的比值。

6.根据权利要求1-5任一项所述的方法,其特征在于,所述空管复合滤棒所在二值化图像中的垂直坐标区间[y1,y2]的获取过程如下:

首先,计算二值化后的图像中每行的像素累加值Ay(j):

其次,在Ay上进行基于均值聚类方法的自适应阈值提取,当相邻两次提取的阈值变化小于1时停止,Ay表示所有行的像素累加值的集合:

其中,取Width为图像宽,

card表示取集合中元素的个数,Ay(j)中大于的元素组成集合小于的元素组成集合

最后,使用自适应阈值将Ay二值化到0和1上,提取最宽的明区间作为滤棒或滤棒夹持孔所在y方向上的区间[y1,y2]。

7.根据权利要求6所述的方法,其特征在于,在步骤3中,对第一精定位子图进行边缘点提取前,使用1行Width/10列的结构元素对第一精定位子图进行一次灰度形态学闭操作处理,并对处理结果采用纵向Sobel算子进行边缘提取,以纵向Sobel算子响应图像中每一列中的最大响应值对应在二值图像中的位置作为边缘点。

8.根据权利要求7所述的方法,其特征在于,利用积分函数的二阶差分响应极值求取第二精定位子图Ilr中空管复合滤棒的左边界和右边界的具体过程如下:

首先,对第二精定位子图Ilr中的像素灰度值按列进行纵向累加求和得列像素累加值Slr(i):

<mrow> <msub> <mi>S</mi> <mrow> <mi>l</mi> <mi>r</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <msubsup> <mi>y</mi> <mn>2</mn> <mo>*</mo> </msubsup> <mo>-</mo> <msubsup> <mi>y</mi> <mn>1</mn> <mo>*</mo> </msubsup> </mrow> </munderover> <msub> <mi>I</mi> <mrow> <mi>l</mi> <mi>r</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> </mrow>

其中,i∈[1,Width],Width为Ilr的图像宽度;

其次,求列像素累加值Slr(i)积分函数Jlr(i):Jlr(i)=Jlr(i-1)+Slr(i),Jlr(1)=Slr(1);

最后,以积分函数的二阶差分值确定空管复合滤棒的左边界和右边界

<mrow> <msubsup> <mi>x</mi> <mn>1</mn> <mo>*</mo> </msubsup> <mo>=</mo> <mi>L</mi> <mi>o</mi> <mi>c</mi> <mrow> <mo>(</mo> <munderover> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>W</mi> <mi>i</mi> <mi>d</mi> <mi>t</mi> <mi>h</mi> <mo>/</mo> <mn>2</mn> </mrow> </munderover> <mo>(</mo> <mrow> <msub> <mi>D</mi> <mi>&delta;</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow>

<mrow> <msubsup> <mi>x</mi> <mn>2</mn> <mo>*</mo> </msubsup> <mo>=</mo> <mi>L</mi> <mi>o</mi> <mi>c</mi> <mrow> <mo>(</mo> <munderover> <mi>min</mi> <mrow> <mi>i</mi> <mo>=</mo> <mi>W</mi> <mi>i</mi> <mi>d</mi> <mi>t</mi> <mi>h</mi> <mo>/</mo> <mn>2</mn> </mrow> <mrow> <mi>W</mi> <mi>i</mi> <mi>d</mi> <mi>t</mi> <mi>h</mi> </mrow> </munderover> <mo>(</mo> <mrow> <msub> <mi>D</mi> <mi>&delta;</mi> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow>

其中,积分函数的二阶差分Dδ(i):Dδ(i)=Jlr(i)-Jlr(i-δ)-Jlr(i+δ)-Jlr(i),差分观测距离δ=10。

9.根据权利要求1所述的方法,其特征在于,所述步骤1中对原始图像进行滤波处理是指对原始图像中蓝色通道进行3×3的中值滤波操作。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1