发明名称 一种基于空间矩的线结构光中心提取方法
摘要 一种基于空间矩的线结构光中心提取方法属于线结构光视觉三维测量中激光光条中心的提取方法领域,该方法由光条的一个边缘点的灰度梯度矢量获得该边缘点所在处的理想法线方程,并将平分坐标系的八个方向中与理想法线方向最为接近的一个作为光条曲线的实际法线方向,从而获得一条过所述边缘点的实际法线与该光条自身的光条截面。该方法所提出的光条截面的选取方法能更好地适应光条曲率的剧烈变化并保证光条截面内像素点均匀分布,还给出了建立一种基于空间矩理论的求取光条中心点坐标的封闭解析公式。该方法在出现光条中心灰度饱和现象时,不会出现严重检测误差,因而在检测结果即时性、精确性以及对误差的鲁棒性等方面都优于传统方法。
申请公布号 CN103400399A 申请公布日期 2013.11.20
申请号 CN201310341407.6 申请日期 2013.08.07
申请人 长春工业大学 发明人 孙秋成;刘铭;秦喜文
分类号 G06T7/60(2006.01)I 主分类号 G06T7/60(2006.01)I
代理机构 长春菁华专利商标代理事务所 22210 代理人 田春梅
主权项 1.一种基于空间矩的线结构光中心提取方法,其特征在于:该方法包括如下步骤:步骤一:利用经典Sobel边缘提取算子对光条图像进行检测,获得图像中光条上的各个边缘点的像素坐标(x<sub>i</sub>,y<sub>i</sub>),i=1,2,……n,n为所检出的边缘点个数,n取自然数,其中每个像素点对应的灰度值为I(x<sub>i</sub>,y<sub>i</sub>);步骤二:求取过光条图像边缘点的光条截面,其包括如下子步骤:步骤2.1:设步骤一所述其中一个边缘点的灰度梯度矢量<img file="FDA00003635593300012.GIF" wi="206" he="74" />为:<maths num="0001"><![CDATA[<math><mrow><msub><mi>S</mi><msub><mi>x</mi><mi>i</mi></msub></msub><mo>=</mo><mo>{</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mn>2</mn><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>}</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><mo>-</mo><mo>{</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>+</mo><mn>2</mn><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mo>}</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>S</mi><msub><mi>y</mi><mi>i</mi></msub></msub><mo>=</mo><mo>{</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mn>2</mn><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>}</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>.</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><mo>-</mo><mo>{</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mn>2</mn><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>I</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>}</mo></mrow></math>]]></maths>步骤2.2:将步骤2.1所述边缘像素点的灰度梯度矢量<img file="FDA00003635593300017.GIF" wi="212" he="76" />近似地作为该边缘点所处位置的光条曲线的法线方向,其斜率记作k′;则该边缘像素点的理想法线方程为:y-k′x-(y<sub>i</sub>-k′x<sub>i</sub>)=0……(2)式(2)中,<img file="FDA00003635593300011.GIF" wi="259" he="205" />同时,将像素坐标平面坐标系按45°角的间隔等分为8个方向K<sub>i</sub>,i=1,2,3,4,5,6,7,8;则,将使k<sub>i(min)</sub>=|k′-Ki|最小的K<sub>i</sub>值所对应的方向作为该边缘像素点所在位置的光条曲线的实际法线方向;步骤2.3:若将步骤2.2所述光条曲线的法线所在的直线与光条自身的交线称为光条截面,则得到一个包含光条截面的像素点集合,同时,还得到这些像素点所对应的灰度值C(i),i=0,1,2,……m-1,m取自然数;步骤三:建立一种基于空间矩理论的光条中心点的提取方法以及求取光条截面内光条中心点坐标的解析公式,其具体包括如下子步骤:步骤3.1:建立光条截面内像素点的理想灰度分布模型<maths num="0005"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>h</mi></mtd><mtd><mi>x</mi><mo>&Element;</mo><mo>[</mo><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>l</mi><mn>1</mn></msub><mo>)</mo></mtd></mtr><mtr><mtd><mi>h</mi><mo>+</mo><mi>k</mi></mtd><mtd><mi>x</mi><mo>&Element;</mo><mo>[</mo><msub><mi>l</mi><mn>1</mn></msub><mo>,</mo><msub><mi>l</mi><mn>2</mn></msub><mo>]</mo></mtd></mtr><mtr><mtd><mi>h</mi></mtd><mtd><mi>x</mi><mo>&Element;</mo><mo>(</mo><msub><mi>l</mi><mn>2</mn></msub><mo>,</mo><mn>1</mn><mo>]</mo></mtd></mtr></mtable></mfenced><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(3)中,h为背景灰度,k为灰度反差,l<sub>1</sub>和l<sub>2</sub>分别表示光条截面内光条的两个端点的坐标;则光条截面内光条的中心点的坐标为<img file="FDA00003635593300022.GIF" wi="419" he="157" />步骤3.2:空间矩计算公式为:<maths num="0006"><![CDATA[<math><mrow><msub><mi>M</mi><mi>p</mi></msub><mo>=</mo><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><msup><mi>x</mi><mi>p</mi></msup><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mi>dx</mi><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>式(5)中p=0,1,2,3.......根据式(5)和步骤2.3所述C(i),计算步骤2.3所述包含光条截面的m个像素点集合所对应的前四阶实际空间矩:<maths num="0007"><![CDATA[<math><mrow><msub><mi>M</mi><mn>0</mn></msub><mo>=</mo><mover><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow></munder><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></mover><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mi>dx</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><mi>dx</mi><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mi>m</mi></mfrac></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>xdx</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><mi>xdx</mi></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msub><mi>M</mi><mn>2</mn></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msup><mi>x</mi><mn>2</mn></msup><mi>dx</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><msup><mi>x</mi><mn>2</mn></msup><mi>dx</mi></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><msub><mi>M</mi><mn>3</mn></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msup><mi>x</mi><mn>3</mn></msup><mi>dx</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow></munderover><mi>C</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mi>i</mi><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow><mrow><mo>-</mo><mn>1</mn><mo>+</mo><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mn>2</mn><mi>m</mi></mfrac></mrow></msubsup><msup><mi>x</mi><mn>3</mn></msup><mi>dx</mi></mrow></math>]]></maths>步骤3.3:根据空间矩计算公式(5)和光条截面内像素点的理想灰度分布模型式(3),计算步骤2.3所述包含光条截面所对应的前四阶理想空间矩;根据空间矩不变原理,获得如下的四个方程:<maths num="0011"><![CDATA[<math><mrow><msub><mi>M</mi><mn>0</mn></msub><mo>=</mo><mi>h</mi><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><mi>dx</mi><mo>+</mo><mi>k</mi><msubsup><mo>&Integral;</mo><msub><mi>l</mi><mn>1</mn></msub><msub><mi>l</mi><mn>2</mn></msub></msubsup><mi>dx</mi><mo>=</mo><mn>2</mn><mi>h</mi><mo>+</mo><mi>k</mi><mrow><mo>(</mo><msub><mi>l</mi><mn>2</mn></msub><mo>-</mo><msub><mi>l</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0012"><![CDATA[<math><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>=</mo><mi>h</mi><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><mi>xdx</mi><mo>+</mo><mi>k</mi><msubsup><mo>&Integral;</mo><msub><mi>l</mi><mn>1</mn></msub><msub><mi>l</mi><mn>2</mn></msub></msubsup><mi>xdx</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0013"><![CDATA[<math><mrow><msub><mi>M</mi><mn>2</mn></msub><mo>=</mo><mi>h</mi><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><msup><mi>x</mi><mn>2</mn></msup><mi>dx</mi><mo>+</mo><mi>k</mi><msubsup><mo>&Integral;</mo><msub><mi>l</mi><mn>1</mn></msub><msub><mi>l</mi><mn>2</mn></msub></msubsup><msup><mi>x</mi><mn>2</mn></msup><mi>dx</mi><mo>=</mo><mfrac><mn>2</mn><mn>3</mn></mfrac><mi>h</mi><mo>+</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>3</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>3</mn></msubsup><mo>)</mo></mrow><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0014"><![CDATA[<math><mrow><msub><mi>M</mi><mn>3</mn></msub><mo>=</mo><mi>h</mi><msubsup><mo>&Integral;</mo><mrow><mo>-</mo><mn>1</mn></mrow><mn>1</mn></msubsup><msup><mi>x</mi><mn>3</mn></msup><mi>dx</mi><mo>+</mo><mi>k</mi><msubsup><mo>&Integral;</mo><msub><mi>l</mi><mn>1</mn></msub><msub><mi>l</mi><mn>2</mn></msub></msubsup><msup><mi>x</mi><mn>3</mn></msup><mi>dx</mi><mo>=</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>4</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>4</mn></msubsup><mo>)</mo></mrow><mo></mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo></mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths>对式(6)、(7)、(8)、(9)四个方程做进一步整理和推导:将方程(9)作为被除数,除以方程(7),得到<maths num="0015"><![CDATA[<math><mrow><msubsup><mi>l</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mn>1</mn><mn>2</mn></msubsup><mo>=</mo><mfrac><mrow><mn>2</mn><msub><mi>M</mi><mn>3</mn></msub></mrow><msub><mi>M</mi><mn>1</mn></msub></mfrac><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo></mo><mo></mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow></math>]]></maths>将方程(8)乘以3后,与方程(6)作差,得到:<maths num="0016"><![CDATA[<math><mrow><mi>k</mi><mrow><mo>(</mo><msub><mi>l</mi><mn>2</mn></msub><mo>-</mo><msub><mi>l</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>-</mo><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>3</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>3</mn></msubsup><mo>)</mo></mrow><mo>=</mo><msub><mi>M</mi><mn>0</mn></msub><mo>-</mo><mn>3</mn><msub><mi>M</mi><mn>2</mn></msub><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo></mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths>将方程(9)乘以2后,与方程(7)作差,得到:<maths num="0017"><![CDATA[<math><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>4</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>4</mn></msubsup><mo>)</mo></mrow><mo>=</mo><msub><mi>M</mi><mn>1</mn></msub><mo>-</mo><mn>2</mn><msub><mi>M</mi><mn>3</mn></msub><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths>将方程(11)与方程(12)做商,得到下式:<maths num="0018"><![CDATA[<math><mrow><mfrac><mrow><mi>k</mi><mrow><mo>(</mo><msub><mi>l</mi><mn>2</mn></msub><mo>-</mo><msub><mi>l</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>-</mo><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>3</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>3</mn></msubsup><mo>)</mo></mrow></mrow><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>k</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mn>2</mn><mn>4</mn></msubsup><mo>-</mo><msubsup><mi>l</mi><mn>1</mn><mn>4</mn></msubsup><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><msub><mi>M</mi><mn>0</mn></msub><mo>-</mo><mn>3</mn><msub><mi>M</mi><mn>2</mn></msub></mrow><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>-</mo><mn>2</mn><msub><mi>M</mi><mn>3</mn></msub></mrow></mfrac><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow></math>]]></maths>通过整理,式(13)表示为如下形式<maths num="0019"><![CDATA[<math><mrow><mfrac><mrow><mn>1</mn><mo>-</mo><mn>2</mn><mo>&times;</mo><msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>l</mi><mn>1</mn></msub><mo>+</mo><msub><mi>l</mi><mn>2</mn></msub></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><mfrac><mrow><msubsup><mi>l</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mn>2</mn><mn>2</mn></msubsup></mrow><mn>2</mn></mfrac></mrow><mrow><mrow><mo>(</mo><mfrac><mrow><msub><mi>l</mi><mn>1</mn></msub><mo>+</mo><msub><mi>l</mi><mn>2</mn></msub></mrow><mn>2</mn></mfrac><mo>)</mo></mrow><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mrow><mo>(</mo><msubsup><mi>l</mi><mn>1</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mn>2</mn><mn>2</mn></msubsup><mo>)</mo></mrow><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><msub><mi>M</mi><mn>0</mn></msub><mo>-</mo><mn>3</mn><msub><mi>M</mi><mn>2</mn></msub></mrow><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>-</mo><mn>2</mn><msub><mi>M</mi><mn>3</mn></msub></mrow></mfrac><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow></math>]]></maths>令<maths num="0020"><![CDATA[<math><mrow><mfrac><mrow><msub><mi>l</mi><mn>1</mn></msub><mo>+</mo><msub><mi>l</mi><mn>2</mn></msub></mrow><mn>2</mn></mfrac><mo>=</mo><mi>x</mi><mo>,</mo></mrow></math>]]></maths><maths num="0021"><![CDATA[<math><mrow><mfrac><mrow><msub><mi>M</mi><mn>0</mn></msub><mo>-</mo><mn>3</mn><msub><mi>M</mi><mn>2</mn></msub></mrow><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>-</mo><mn>2</mn><msub><mi>M</mi><mn>3</mn></msub></mrow></mfrac><mo>=</mo><mi>a</mi><mo>,</mo></mrow></math>]]></maths><maths num="0022"><![CDATA[<math><mrow><msubsup><mi>l</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>l</mi><mn>1</mn><mn>2</mn></msubsup><mo>=</mo><mfrac><mrow><mn>2</mn><msub><mi>M</mi><mn>3</mn></msub></mrow><msub><mi>M</mi><mn>1</mn></msub></mfrac><mo>=</mo><mi>b</mi><mo>,</mo></mrow></math>]]></maths>则式(14)可以表示为一个新的一元二次方程:<maths num="0023"><![CDATA[<math><mrow><mn>2</mn><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mi>a</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>b</mi><mo>)</mo></mrow><mi>x</mi><mo>+</mo><mfrac><mi>b</mi><mn>2</mn></mfrac><mo>-</mo><mn>1</mn><mo>=</mo><mn>0</mn><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow></math>]]></maths>步骤3.4:利用求根公式对式(15)求解:<maths num="0024"><![CDATA[<math><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo>-</mo><mi>a</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>b</mi><mo>)</mo></mrow><mo>&PlusMinus;</mo><msqrt><msup><mi>a</mi><mn>2</mn></msup><msup><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>b</mi><mo>)</mo></mrow><mn>2</mn></msup><mo>-</mo><mn>4</mn><mrow><mo>(</mo><mi>b</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow></msqrt></mrow><mn>4</mn></mfrac><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow></math>]]></maths>则落在区间[-1,1]上的解x即为所求的光条中心,式(16)则为求解光条截面内光条中心点的亚像素坐标位置的解析公式;步骤四:利用步骤3.4所述解析公式,求取步骤一所述光条截面内光条的中心点的亚像素坐标值;步骤五:令i=i+1,顺次选取下一个边缘点,重复步骤二至步骤四的过程,求取每一个边缘点对应光条截面的中心点的亚像素坐标值;步骤六:判断步骤五中i的值,当i等于步骤一所述检出的边缘点个数n时,则认定已获得步骤一所述光条图像上所有边缘点对应的光条截面内光条中心点的亚像素坐标值,进而完成基于空间矩的线结构光中心提取方法。
地址 130012 吉林省长春市朝阳区延安大街2055号