发明名称 摄像机标定中减少圆形目标定位随机误差的方法
摘要 本发明涉及一种利用圆阵列中多个圆之间的位置关系减少圆形目标定位随机误差的方法,该方法所采用的标定物是普通等间距分布9×11圆阵列标定板;将此标定板放置于摄像机视域内,拍摄得到清晰的圆阵列的计算机图像;检测出图像中的各个椭圆,利用最小二乘法进行初步的高精度圆心拟合;根据已经拟合得到得圆心数据,寻找最接近圆心的近似真实的五个圆心点;根据射影变换的交比不变性以及直线不变性建立优化函数;采用粒子群的非线性搜索方法,对近似真实的五个圆心点附近与其组成4×4圆阵列的其他圆心坐标数据进行优化,获得减少了随机误差的近似真实4×4圆心阵列;利用近似真实的4×4圆阵列坐标数据求解标定板图像中其余所有圆心坐标数据,获得对应世界坐标的近似理想的图像坐标。
申请公布号 CN101650828A 申请公布日期 2010.02.17
申请号 CN200910035186.3 申请日期 2009.09.07
申请人 东南大学 发明人 达飞鹏;李勤;张虎;盖绍彦
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 南京经纬专利商标代理有限公司 代理人 叶连生
主权项 1、一种摄像机标定中减少圆形目标定位随机误差的方法,其特征在于该方法包括以下步骤:步骤1:以普通的均匀分布的9×11圆阵列作为标定物,用摄像机拍摄标,得到清晰的圆阵列的计算机图像;步骤2:采用经典的canny算子,对图像中椭圆的边缘进行提取,获得各个椭圆边界的像素点位置的集合,根据这些集合,利用最小二乘法分别拟合各个椭圆的方程,椭圆标记为<img file="A2009100351860002C1.GIF" wi="67" he="65" />则椭圆的方程为:<maths num="0001"><![CDATA[<math><mrow><msub><mover><mi>C</mi><mo>~</mo></mover><mi>i</mi></msub><mo>:</mo><msup><mi>u</mi><mn>2</mn></msup><mo>+</mo><msub><mi>A</mi><mi>i</mi></msub><mi>uv</mi><mo>+</mo><msub><mi>B</mi><mi>i</mi></msub><msup><mi>v</mi><mn>2</mn></msup><mo>+</mo><msub><mi>C</mi><mi>i</mi></msub><mi>u</mi><mo>+</mo><msub><mi>D</mi><mi>i</mi></msub><mi>v</mi><mo>+</mo><msub><mi>E</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn><mo>;</mo></mrow></math>]]></maths>其中,u、v分别为图像中像素点的横坐标和纵坐标,坐标轴以图像左下角为原点,图像的水平轴为坐标轴的横轴,图像的垂直轴为坐标轴的纵轴;A<sub>i</sub>、B<sub>i</sub>、C<sub>i</sub>、D<sub>i</sub>、E<sub>i</sub>为椭圆方程<img file="A2009100351860002C3.GIF" wi="42" he="66" />的系数,根据两椭圆方程系数可求得椭圆<img file="A2009100351860002C4.GIF" wi="41" he="67" />的拟合圆心为O<sub>i</sub>,则拟合圆心的横坐标为<img file="A2009100351860002C5.GIF" wi="327" he="109" />纵坐标为<img file="A2009100351860002C6.GIF" wi="355" he="109" />其中i=1,2,...,99;步骤3:采用径向约束法求解光心;对四个以上理论上应该在一条直线上的点进行直线拟合,并用拟合点与拟合直线距离的平方和建立直线度评价函数:取与光心最为接近的一个圆心及使得评价函数取值最低即直线度最高的拟合直线上的最靠近光心的四个拟合圆心,为近似真实的五个圆心点;步骤4:在五个近似真实圆心点的基础上,建立优化目标函数:<maths num="0002"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>{</mo><mi>Cdis</mi><mn>1</mn><mo>[</mo><mi>i</mi><mo>]</mo><mo>&times;</mo><mi>Cdis</mi><mn>2</mn><mo>[</mo><mi>i</mi><mo>]</mo><mo>/</mo><mi>Cdis</mi><mn>3</mn><mo>[</mo><mi>i</mi><mo>]</mo><mo>/</mo><mi>Cdis</mi><mn>4</mn><mo>[</mo><mi>i</mi><mo>]</mo><mo>-</mo><mfrac><mn>4</mn><mn>3</mn></mfrac><mo>}</mo></mrow><mn>2</mn></msup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>p</mi><mo>,</mo><mi>q</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>p</mi><mo>&NotEqual;</mo><mi>q</mi></mrow><mn>4</mn></munderover><mfrac><mn>1</mn><mn>6</mn></mfrac><msup><mrow><mo>[</mo><mrow><mo>(</mo><msub><mi>dis</mi><mi>ip</mi></msub><mo>+</mo><mi>D</mi><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><msub><mi>dis</mi><mi>iq</mi></msub><mo>+</mo><mi>D</mi><mo>)</mo></mrow><mo>-</mo><mn>1</mn><mo>]</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>其中,N=9;Cdis1、Cdis2、Cdis3、Cdis4是指对应直线上内点间的欧氏距离;dis<sub>ip</sub>表示第i条拟合直线上的第p个圆心点与该条直线的距离;dis<sub>iq</sub>表示第i条拟合直线上的第q个圆心点与该条直线的距离;D为调节常数,其数量级为图像中相邻圆阵列之间的像素距离的数量级;i用来标识当前四点所在直线;p,q表示当前直线上的点,p≠q;步骤5:对近似真实的五个圆心点附近与其组成4×4圆阵列的其他十一个圆心的坐标数据,基于步骤4建立的优化目标函数,采用带交叉操作的粒子群进行非线性搜索优化,获得减少了随机误差的十一个圆心的坐标数据,进而获得了减少了随机误差的经优化的4×4圆形阵列的坐标数据,搜索过程中相关参数的设置为:c1=1.4962;c2=1.4962;wq=0.7298;N=200;D=22;eps=10^(-4);MaxDT=500;其中,c1,c2是搜索时的学习因子,wq是搜索时的惯性权重;N为粒子群规模;D为解空间维数;eps为最小迭代误差;MaxDT为最大迭代次数;步骤6:取步骤5中得到的经优化的4×4圆阵列坐标数据,对经优化的4×4圆阵列向外延拓求解其余圆的近似真实圆心坐标,具体步骤如下:步骤6.1:取经优化的4×4圆阵列中第i行的四个圆心坐标,从左至右依次为O<sub>i1</sub>、O<sub>i2</sub>、O<sub>i3</sub>、O<sub>i4</sub>,记为O<sub>ij</sub>,则它们的横坐标为O<sub>ijx</sub>,纵坐标为O<sub>ijy</sub>,这四个圆心左侧相邻的圆心为O<sub>il</sub>,O<sub>il</sub>的横坐标为O<sub>ilx</sub>,纵坐标为O<sub>ily</sub>,右侧相邻的圆心为O<sub>ir</sub>,O<sub>ir</sub>的横坐标为O<sub>irx</sub>,纵坐标为O<sub>iry</sub>;其中j=1,2,3,4,i表示五个圆心所在的不同行数,i=1,2,3,4;解方程组:<maths num="0003"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>a</mi><mi>i</mi></msub><msub><mi>O</mi><mi>ilx</mi></msub><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><msub><mi>O</mi><mi>ily</mi></msub><mo>+</mo><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ilx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ily</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ilx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ily</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mn>4</mn><mn>3</mn></mfrac></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>a</mi><mi>i</mi></msub><msub><mi>O</mi><mi>irx</mi></msub><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><msub><mi>O</mi><mi>iry</mi></msub><mo>+</mo><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mn>4</mn><mn>3</mn></mfrac></mtd></mtr></mtable></mfenced></math>]]></maths>其中a<sub>i</sub>,b<sub>i</sub>,c<sub>i</sub>为四个近似真实圆心所在直线的直线方程系数,获得近似真实的4×4圆阵列第i行左侧相邻和右侧相邻的减少了随机误差的圆心的近似真实位置分别为(O<sub>ilx</sub>,O<sub>ily</sub>)、(O<sub>irx</sub>,O<sub>iry</sub>);步骤6.2取经优化的4×4圆阵列中第i列的四个圆心坐标,从上至下依次为O<sub>i1</sub>、O<sub>i2</sub>、O<sub>i3</sub>、O<sub>i4</sub>,记为O<sub>ij</sub>,则它们的横坐标为O<sub>ijx</sub>,纵坐标为O<sub>ijy</sub>,这四个圆心上面相邻的圆心为O<sub>iu</sub>,O<sub>iu</sub>的横坐标为O<sub>iux</sub>,纵坐标为O<sub>iuy</sub>,下面相邻的圆心为O<sub>id</sub>,O<sub>id</sub>的横坐标为O<sub>idx</sub>,纵坐标为O<sub>idy</sub>;其中j=1,2,3,4,i表示五个圆心所在的不同列数,i=1,2,3,4;解方程组:<maths num="0005"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>a</mi><mi>i</mi></msub><msub><mi>O</mi><mi>iux</mi></msub><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><msub><mi>O</mi><mi>iuy</mi></msub><mo>+</mo><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iux</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iuy</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iux</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iuy</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mn>4</mn><mn>3</mn></mfrac></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>a</mi><mi>i</mi></msub><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>+</mo><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>4</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>4</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mn>2</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>4</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mn>2</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mn>4</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mn>4</mn><mn>3</mn></mfrac></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>其中a<sub>i</sub>,b<sub>i</sub>,c<sub>i</sub>为四个近似真实圆心所在直线的直线方程系数,获得近似真实的4×4圆阵列第i列上面相邻和下面相邻的减少了随机误差的圆心的近似真实位置分别为(O<sub>iux</sub>,O<sub>iuy</sub>)、(O<sub>idx</sub>,O<sub>idy</sub>);步骤6.3:取经优化的4×4圆阵列中处于第i条对角线位置的四个圆心坐标从左上至右下依次为O<sub>i1</sub>、O<sub>i2</sub>、O<sub>i3</sub>、O<sub>i4</sub>,记为O<sub>ij</sub>,则它们的横坐标为O<sub>ijx</sub>,纵坐标为O<sub>ijy</sub>,这四个圆心左边相邻的圆心为O<sub>il</sub>,O<sub>il</sub>的横坐标为O<sub>ilx</sub>,纵坐标为O<sub>ily</sub>,右边相邻的圆心为O<sub>ir</sub>,O<sub>ir</sub>的横坐标为O<sub>irx</sub>,纵坐标为O<sub>iry</sub>;其中j=1,2,3,4,i表示五个圆心所在的不同方向,有左上至右下和左下至右上两个方向,i=1,2;解方程组:<maths num="0007"><![CDATA[<math><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>a</mi><mi>i</mi></msub><msub><mi>O</mi><mi>ilx</mi></msub><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><msub><mi>O</mi><mi>ily</mi></msub><mo>+</mo><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ilx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ily</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ilx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>ily</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>x</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>1</mn><mi>y</mi></mrow></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mn>4</mn><mn>3</mn></mfrac></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>a</mi><mi>i</mi></msub><msub><mi>O</mi><mi>irx</mi></msub><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><msub><mi>O</mi><mi>iry</mi></msub><mo>+</mo><msub><mi>c</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>3</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>&CenterDot;</mo><mfrac><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>2</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>irx</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>x</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>O</mi><mi>iry</mi></msub><mo>-</mo><msub><mi>O</mi><mrow><mi>i</mi><mn>4</mn><mi>y</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mn>4</mn><mn>3</mn></mfrac></mtd></mtr></mtable></mfenced></math>]]></maths>其中a<sub>i</sub>,b<sub>i</sub>,c<sub>i</sub>为四个近似真实圆心所在直线的直线方程系数,获得近似真实的4×4圆阵列第i列左边相邻和右边相邻的减少了随机误差的圆心的近似真实位置分别为(O<sub>ilx</sub>,O<sub>ily</sub>)、(O<sub>irx</sub>,O<sub>iry</sub>);进而获得,近似真实的6×6圆阵列;步骤6.4:取近似真实的6×6圆阵列,重复步骤6.1~步骤6.3的延拓方式,直至获得整个标定板图像中圆心的近似真实位置。
地址 210096江苏省南京市四牌楼2号