CN107084671A - 一种基于三线结构光的凹球直径测量系统及测量方法 - Google Patents
一种基于三线结构光的凹球直径测量系统及测量方法 Download PDFInfo
- Publication number
- CN107084671A CN107084671A CN201710291155.9A CN201710291155A CN107084671A CN 107084671 A CN107084671 A CN 107084671A CN 201710291155 A CN201710291155 A CN 201710291155A CN 107084671 A CN107084671 A CN 107084671A
- Authority
- CN
- China
- Prior art keywords
- mtd
- msub
- mrow
- mtr
- msup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/08—Measuring arrangements characterised by the use of optical techniques for measuring diameters
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
一种基于三线结构光的凹球直径测量系统,包括工作台,所述工作台上放置有凹球,并且安装有将三条激光线均匀打在凹球面上的三线结构光发生器和用于采集凹球全貌的相机组件,所述三线结构光发生器与控制其光源的主控计算机连接,所述相机组件与接收其传送的图像的主控计算机通讯连接,所述主控计算机上连接有提取图像中三个激光线条并重建拟合得到凹球直径的数字图像处理模块。本发明采用非接触测量方式进行凹球直径测量,避免了对凹球表面的划伤;本系统结构简单、安装容易;对于同一型号凹球可连续测量,测量效率高,对于不同大小的凹球只需调整三线结构光发生器和相机组件的距离与角度,具有很好的柔性。
Description
技术领域
本发明属于先进检测技术领域,涉及一种基于三线结构光的凹球直径测量系统及测量方法。
技术背景
凹球类零件是一种广泛存在于工业生产中的零件,如空调压缩机活塞等,但对凹球几何参数的测量比较复杂,目前国内外尚无成熟的,针对性的测量设备的问世。部分企业采用接触式探针测量的方式进行凹球参数的测量,这种传统的探针式的接触测量方法存在测量力,测量时间长,需进行探头半径的补偿以及不能测量较软材料等局限性,极大的限制了企业生产效率的提高,而且可能对表面质量造成划伤。
发明内容
本发明的目的在于提供极大的提高凹球直径的检测速度,简化检测流程,有利于实现凹球直径的自动化检测,且鲁棒性好,不会因为操作人员的习惯导致测量结果的差异,也避免了对凹球表面的划伤的基于三线结构光的凹球直径测量系统。
本发明还提供了一种提高凹球直径检测精度,提高凹球尺寸检测效率,从而提高企业的生产效率的基于三线结构光的凹球直径测量方法。
本发明采用的技术方案是:
一种基于三线结构光的凹球直径测量系统,其特征在于:包括工作台,所述工作台上放置有凹球,并且安装有将三条激光线均匀打在凹球面上的三线结构光发生器和用于采集凹球全貌的相机组件,所述三线结构光发生器与控制其光源的主控计算机连接,所述相机组件与接收其传送的图像的主控计算机通讯连接,所述主控计算机上连接有提取图像中三个激光线条并重建拟合得到凹球直径的数字图像处理模块。本发明采用非接触测量方式进行凹球直径测量,避免了对凹球表面的划伤;本系统结构简单、安装容易;对于同一型号凹球可连续测量,测量效率高,对于不同大小的凹球只需调整三线结构光发生器和相机组件的距离与角度,具有很好的柔性。
进一步,所述相机组件包括相机,所述相机内设有图像采集卡,其前端连接有镜头,所述图像采集卡与主控计算机通讯连接。
进一步,所述三线结构光发生器通过数字接口与主控计算机。
进一步,所述工作台上固定有两立柱,每根立柱上均安装有调节固定座,调节固定座上穿设有滑动光轴,一根滑动光轴上安装有装夹三线结构光发生器的结构光夹具,另一根滑动光轴上安装有微调升降台,微调升降台上安装有相机固定架,相机组件通过夹相机顶块装夹在相机固定架上。
上述测量系统的测量方法,包括以下步骤:
1)相机内参数的标定;相机模型中世界坐标系到图像坐标系的变换关系如下:
式中:xu,yu为图像坐标系上点的x,y坐标,单位为像素,zc为摄像机三维坐标系上的点的z坐标,单位为mm,f为相机的焦距,θ为坐标轴xi与yi之间的实际夹角,k,l为感光芯片像素的实际大小,xi0,yi0为图像的平面中心,xw,yw,zw为世界坐标系下的点的坐标,矩阵A包括f,k,θ,l,xio,yio这6个参数,是相机内参数矩阵;刚性变换R,T为相机外部参数;
将相机组件的相机和镜头连接,调整焦距并固定焦距,对相机内参数进行标定,得到矩阵A中的各参数;
2)调节将三线结构光发生器和相机组件,将待测凹球放在工作台上,调节三线结构光发生器使三条激光线均匀打在凹球面上,然后安装相机组件并调节相机组件的方位保证相机通过镜头采集到凹球的全貌;
3)计算相机外部参数,保持三线结构光发生器和相机组件不动,拿下待测凹球,获取工作台相对相机的外部参数Tc_ext[3],Rc_ext[3x3],即是式(1)中R,T;
4)进行结构光平面的标定,三线结构光平面π1,π2,π3在世界坐标系下的方程分别为:
a1xw+b1xw+c1xw+d1=0 (2)
a2xw+b2xw+c2xw+d2=0 (3)
a3xw+b3xw+c3xw+d3=0 (4)
式(2)-(4)中:a,b,c,d分别是平面π1,π2,π3的平面方程系数,经过标定后得到拟合光平面的目标方程为:
5)获取图像,将待测的凹球重新放在工作台原来的位置上,进行图像采集;
6)分割并识别三个激光线条,从采集的图像中提取凹球内激光线条和细化凹球,将提取的激光线条与结构光平面匹配获取n组在三条激光线上的图像平面坐标系上的点(xu,yu);
7)激光线条上点的三维重建,基于式(1)-(4),进行凹球面内激光线条上点的三维重建,获取n个世界坐标系下的三维坐标(xw,yw,zw);
8)进行凹球的拟合,利用最小二乘法对球进行拟合,待测球的一般方程为:
(x-a)2+(y-b)2+(z-c)2=r2 (6)
对上述方程进行变形,得到如下的形式:
x·2a+y·2b+z·2c+r2-a2-b2-c2=x2+y2+z2 (7)
令m=2a,f=2b,j=2c,k=r2-a2-b2-c2,则式(6)可用表示为如下的形式:
x·m+y·f+z·j+k=x2+y2+z2 (8)
则球的拟合问题可转换为已知n组坐标点(x,y,z),求式(7)的超定线性方程组的最小二乘解(m*,f*,j*.k*),其求解过程用矩阵形式表示如式(8)所示:
其中n>4,可以求得:m*,f*,j*,k*;
9)获取凹球的半径,最终球心坐标与半径的表达式如下:
则最终凹球的直径为:
进一步,相机内参数使用张正友标定法进行标定,标定后得到fc[2],cc[2],alpha_c参数,各参数的含义如式(12)所示:
比较式(1)与式(12)可得对应关系为:
进一步,相机引入透镜畸变后实际成像平面坐标系上点的坐标与理想情况下程序平面上点的坐标pi(xi,yi)之间的关系如下:
式中:ri为该点距离成像仪中心的半径,(k1,k2,p1,p2)为描述相机畸变的四个参数;
pu(xu,yu)与pi(xi,yi)之间的关系如下:
步骤1)中的相机内部参数标定还包括透镜畸变相关参数的标定,标定后得到kc[5],与式(2)的对应关系如下:
k1=kc(1),k2=kc(2),p1=kc(3),p2=kc(4) (16)。
进一步,步骤1)标定后还得到标定结构的像素误差参数Error[2]。
进一步,步骤4)中的标定分两步进行,第一步将三线结构光投射到相机已标定好内外参数的zw=0的平面上,得到3个结构光平面在zw=0的平面上一条交线上所有点的三维坐标;第二步将厚度为h0的量块放在zw=0的平面上,量块上表面在世界坐标系下的方程为:zw=h0,同样可以得到3个结构光平面与此平面上交线的所有的点的三维坐标;利用上面得到的世界坐标,针对每一个结构光平面都可以有足够的点进行光平面的拟合。
进一步,步骤6)中通过图像分割算法来提取凹球内激光线条,基于骨架提取算法来细化凹球,基于连通区域标记算法来匹配激光线条与结构光平面。
本发明的有益效果是:
(1)测量效率高:对于同一种型号的凹球类工件,一次标定即可进行多件测量。在采集卡采集效率较高时,只需0.2s之内就可以完成对图像的采集和相关的计算。
(2)柔性好:对于不同大小的凹球,只需调整结构光与相机的距离与角度,再进行标定后即可进行测量,具有很好的柔性。
(3)结构简单,安装容易:由图1可知,本测量系统结构简单,便于安装。
(4)测量精度高:在相机分辨率满足要求,感光芯片足够大以及标定准确的情况下,本测量方法测量直径为20mm的凹球时,精度可以达到微米级。
附图说明
图1是本发明的结构示意图。
图2是本发明的测量原理图。
图3是本发明的测量流程图。
图4是本发明的结构光平面标定示意图。
具体实施方式
下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
实施例一
参照图1-3,一种基于三线结构光的凹球直径测量系统,包括工作台,所述工作台上放置有凹球1,并且安装有将三条激光线均匀打在凹球1面上的三线结构光发生器2和用于采集凹球全貌的相机组件,所述相机组件包括相机6,所述相机6内设有图像采集卡,其前端连接有镜头11,所述三线结构光发生器2通过数字接口与控制其光源的主控计算机连接,所述相机组件的图像采集卡与接收其传送的图像的主控计算机通讯连接,所述主控计算机上连接有提取图像中三个激光线条并重建拟合得到凹球直径的数字图像处理模块。本发明采用非接触测量方式进行凹球直径测量,避免了对凹球表面的划伤;本系统结构简单、安装容易;对于同一型号凹球可连续测量,测量效率高,对于不同大小的凹球只需调整三线结构光发生器2和相机组件的距离与角度,具有很好的柔性。
本实施例所述工作台上固定有两立柱5,每根立柱5上均安装有调节固定座4,调节固定座4上穿设有滑动光轴7,一根滑动光轴7上安装有装夹三线结构光发生器2的结构光夹具3,另一根滑动光轴7上安装有微调升降台8,微调升降台8上安装有相机固定架9,相机组件通过夹相机顶块10装夹在相机固定架9上。
本发明的三线结构光发生器2可以通过调节固定座4进行上下调整以及结构光方向的调整。相机6可以通过调节固定座4进行上下调整,通过滑动光轴7进行左右的调整以及相机6方向的调整,通过微调升降台8进行相机位置的微调。最终要实现将三线结构光打在凹球1上,且相机6中可以采集到凹球1的全部图像。
图2是三线结构光测量凹球直径的原理图。相机模型采用引入透镜畸变的针孔相机模型。为了便于建模,建立如图2所示的4个坐标系,其中,Ow-xwywzw为世界坐标系,Oc-xcyczc为摄像机三维坐标系,坐标系Ou-xuyu位于相机图像平面,以像素为单位,默认左上角为坐标原点,为图像坐标系。直线l为相机光轴,理论上光轴l与图像平面垂直。坐标系Oi-xiyi以光轴和成像平面的实际交点Oi为原点,单位为mm,是成像平面坐标系。最终要获得的是世界坐标系Ow和图像坐标系Ou之间的关系。
根据针孔相机模型,从世界坐标系到图像坐标系的变换关系如下:
式中:xu,yu为图像坐标系上点的x,y坐标,单位为像素,zc为摄像机三维坐标系上的点的z坐标,单位为mm,f为相机的焦距,θ为坐标轴xi与yi之间的实际夹角,k,l为感光芯片像素的实际大小,xi0,yi0为图像的平面中心,xw,yw,zw为世界坐标系下的点的坐标。矩阵A包括f,k,θ,l,xio,yio这6个参数,是相机内参数矩阵。
为提高相机标定精度,透镜会引入畸变,为简化分析,考虑了切向畸变和径向畸变这两种主要的畸变。径向畸变源于透镜的形状。成像仪中心畸变为0,越到边缘,畸变越严重。
引入透镜畸变后实际成像平面坐标系上点的坐标与理想情况下程序平面上点的坐标pi(xi,yi)之间的关系如下:
式中:ri为该点距离成像仪中心的半径,(k1,k2,p1,p2)为描述相机畸变的四个参数。
pu(xu,yu)与pi(xi,yi)之间的关系如下:
A与描述透镜畸变的参数(k1,k2,p1,p2)一起组成了相机内部参数。刚性变换R,T为摄像机外部参数,描述了世界坐标系与摄像机坐标系之间的相互关系。
式(1)、式(14)得到一个图像点到空间点的映射关系,这些参数可以通过相机标定来获得。
同时,图2中的平面π1,π2,π3是结构光平面,其在世界坐标系下的方程分别为:
a1xw+b1xw+c1xw+d1=0 (2)
a2xw+b2xw+c2xw+d2=0 (3)
a3xw+b3xw+c3xw+d3=0 (4)
式(2)-(4)中:a,b,c,d分别是平面π1,π2,π3的平面方程系数。
通过相机标定获取相机内外参数与畸变系数,通过结构光平面标定获取结构光平面的方程,就可以根据图像坐标系上的点pu(xu,yu)得到在世界平面坐标系下的点pw(xw,yw,zw),从而完成凹球面上的点的三维重建。最后,基于最小二乘法进行凹球方程的拟合,即可得到凹球的直径。
从图3可以看到,本发明主要包括激光器光源控制部分,相机、镜头与采集卡等图像采集部分以及后续的数据处理部分。首先通过光源控制,将3条线结构光投射在工件凹球1上,之后通过相机6,镜头11与采集卡进行图像采集。测量前系统要进行标定,包括相机和结构光平面的标定。最后,通过图像处理提取激光条纹,获取凹球表面一系列点的三维坐标,最后通过拟合计算得到凹球的直径。
实施例二
参照图1-4,一种基于三线结构光的凹球直径测量系统的测量方法,包括以下步骤:
1)相机内参数的标定。
相机模型中世界坐标系到图像坐标系的变换关系如下:
式中:xu,yu为图像坐标系上点的x,y坐标,单位为像素,zc为摄像机三维坐标系上的点的z坐标,单位为mm,f为相机的焦距,θ为坐标轴xi与yi之间的实际夹角,k,l为感光芯片像素的实际大小,xi0,yi0为图像的平面中心,xw,yw,zw为世界坐标系下的点的坐标,矩阵A包括f,k,θ,l,xio,yio这6个参数,是相机内参数矩阵;刚性变换R,T为相机外部参数;
相机引入透镜畸变后实际成像平面坐标系上点的坐标与理想情况下程序平面上点的坐标pi(xi,yi)之间的关系如下:
式中:ri为该点距离成像仪中心的半径,(k1,k2,p1,p2)为描述相机畸变的四个参数;
pu(xu,yu)与pi(xi,yi)之间的关系如下:
将相机与镜头通过接口连接,调整焦距至30mm,之后固定焦距,使用张正友标定法进行相机的标定。
基于Matlab中的Camera Calibration Toolbox工具箱来标定相机,标定结束后,将得到fc[2],cc[2],alpha_c,kc[5],error[2]这五个内部参数,各参数的含义如式(12)所示:
比较式(1)与式(12)可得对应关系为:
同时,kc[5]为得到的透镜畸变相关参数,与式(14)的对应关系如下:
k1=kc(1),k2=kc(2),p1=kc(3),p2=kc(4) (16)
Error[2]这个参数表示的是标定结果的像素误差。
2)调节将三线结构光发生器和相机组件,将待测凹球放在工作台上,调节三线结构光发生器使三条激光线均匀打在凹球面上,然后安装相机组件并调节相机组件的方位保证相机通过镜头采集到凹球的全貌。
3)计算相机外部参数,保持三线结构光发生器和相机组件不动,拿下待测凹球,获取工作台相对相机的外部参数Tc_ext[3],Rc_ext[3x3],即是式(1)中R,T。
4)进行结构光平面的标定。三线结构光平面π1,π2,π3在世界坐标系下的方程分别为:
a1xw+b1xw+c1xw+d1=0 (2)
a2xw+b2xw+c2xw+d2=0 (3)
a3xw+b3xw+c3xw+d3=0 (4)
式(2)-(4)中:a,b,c,d分别是平面π1,π2,π3的平面方程系数;结合精密量块进行结构光平面标定,该标定分两步进行。首先,将三线结构光投射到已标定好内外参数的测量系统的zw=0的平面上,如图4a所示。由式(1)可知,在已知zw=0的已标定好相机参数的系统里,可以由xu,yu求出xw,yw,从而得到3个结构光平面在zw=0的平面上一条交线上所有点的三维坐标。之后将厚度h=h0的量块放在zw=0的平面上,如图4b所示,这样量块上表面在世界坐标系下的方程为:zw=h0,同样可以得到3个结构光平面与此平面上交线的所有的点的三维坐标。利用上面得到的世界坐标,针对每一个结构光平面都可以有足够的点进行光平面的拟合。拟合光平面的目标方程为:
相机标定和结构光平面的标定完成后便得到测量系统所有的外参数与内参数,完成了整个系统的标定。
5)获取图像,将待测的凹球重新放在工作台原来的位置上,进行图像采集。
6)分割并识别三个激光线条。结合图像分割算法,实现凹球内激光线条的提取;基于骨架提取算法,实现凹球的细化;基于连通区域标记算法,实现激光线条与结构光平面的匹配。最后提取出n组在三条激光线上的图像平面坐标系上的点(xu,yu)。
7)激光线条上点的三维重建,基于式(1)-(4),进行凹球面内激光线条上点的三维重建,获取n个世界坐标系下的三维坐标(xw,yw,zw)。
8)进行凹球的拟合。利用最小二乘法对球进行拟合,待测球的一般方程为:
(x-a)2+(y-b)2+(z-c)2=r2 (6)
对上述方程进行变形,得到如下的形式:
x·2a+y·2b+z·2c+r2-a2-b2-c2=x2+y2+z2 (7)
令m=2a,f=2b,j=2c,k=r2-a2-b2-c2,则式(6)可用表示为如下的形式:
x·m+y·f+z·j+k=x2+y2+z2 (8)
则球的拟合问题可转换为已知n组坐标点(x,y,z),求式(7)的超定线性方程组的最小二乘解(m*,f*,j*.k*),其求解过程用矩阵形式表示如式(8)所示:
其中n>4,可以求得:m*,f*,j*,k*。
9)获取凹球的半径,最终球心坐标与半径的表达式如下:
则最终凹球的直径为:
本方法通过相机标定获取相机内外参数与畸变系数,通过结构光平面标定获取结构光平面的方程,就可以根据图像坐标系上的点pu(xu,yu)得到在世界平面坐标系下的点pw(xw,yw,zw),从而完成凹球面上的点的三维重建。最后,基于最小二乘法进行凹球方程的拟合,即可得到凹球的直径。
Claims (10)
1.一种基于三线结构光的凹球直径测量系统,其特征在于:包括工作台,所述工作台上放置有凹球,并且安装有将三条激光线均匀打在凹球面上的三线结构光发生器和用于采集凹球全貌的相机组件,所述三线结构光发生器与控制其光源的主控计算机连接,所述相机组件与接收其传送的图像的主控计算机通讯连接,所述主控计算机上连接有提取图像中三个激光线条并重建拟合得到凹球直径的数字图像处理模块。
2.如权利要求1所述的一种基于三线结构光的凹球直径测量系统,其特征在于:所述相机组件包括相机,所述相机内设有图像采集卡,其前端连接有镜头,所述图像采集卡与主控计算机通讯连接。
3.如权利要求1所述的一种基于三线结构光的凹球直径测量系统,其特征在于:所述三线结构光发生器通过数字接口与主控计算机。
4.如权利要求1~3之一所述的一种基于三线结构光的凹球直径测量系统,其特征在于:所述工作台上固定有两立柱,每根立柱上均安装有调节固定座,调节固定座上穿设有滑动光轴,一根滑动光轴上安装有装夹三线结构光发生器的结构光夹具,另一根滑动光轴上安装有微调升降台,微调升降台上安装有相机固定架,相机组件通过夹相机顶块装夹在相机固定架上。
5.如权利要求1所述的一种基于三线结构光的凹球直径测量系统的测量方法,包括以下步骤:
1)相机内参数的标定;相机模型中世界坐标系到图像坐标系的变换关系如下:
<mrow>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>u</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>y</mi>
<mi>u</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<msub>
<mi>z</mi>
<mi>c</mi>
</msub>
</mfrac>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mfrac>
<mi>f</mi>
<mi>k</mi>
</mfrac>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mfrac>
<mi>f</mi>
<mi>k</mi>
</mfrac>
<mi>cot</mi>
<mi>&theta;</mi>
</mrow>
</mtd>
<mtd>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mn>0</mn>
</mrow>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mfrac>
<mi>f</mi>
<mrow>
<mi>l</mi>
<mi> </mi>
<mi>sin</mi>
<mi>&theta;</mi>
</mrow>
</mfrac>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mrow>
<mi>i</mi>
<mi>o</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>R</mi>
</mtd>
<mtd>
<mi>T</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>w</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>y</mi>
<mi>w</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>z</mi>
<mi>w</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<msub>
<mi>z</mi>
<mi>c</mi>
</msub>
</mfrac>
<mi>A</mi>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>R</mi>
</mtd>
<mtd>
<mi>T</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>w</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>y</mi>
<mi>w</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>z</mi>
<mi>w</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
式中:xu,yu为图像坐标系上点的x,y坐标,单位为像素,zc为摄像机三维坐标系上的点的z坐标,单位为mm,f为相机的焦距,θ为坐标轴xi与yi之间的实际夹角,k,l为感光芯片像素的实际大小,xi0,yi0为图像的平面中心,xw,yw,zw为世界坐标系下的点的坐标,矩阵A包括f,k,θ,l,xio,yio这6个参数,是相机内参数矩阵;刚性变换R,T为相机外部参数;
将相机组件的相机和镜头连接,调整焦距并固定焦距,对相机内参数进行标定,得到矩阵A中的各参数;
2)调节将三线结构光发生器和相机组件,将待测凹球放在工作台上,调节三线结构光发生器使三条激光线均匀打在凹球面上,然后安装相机组件并调节相机组件的方位保证相机通过镜头采集到凹球的全貌;
3)计算相机外部参数,保持三线结构光发生器和相机组件不动,拿下待测凹球,获取工作台相对相机的外部参数Tc_ext[3],Rc_ext[3x3],即是式(1)中R,T;
4)进行结构光平面的标定,三线结构光平面π1,π2,π3在世界坐标系下的方程分别为:
a1xw+b1xw+c1xw+d1=0 (2)
a2xw+b2xw+c2xw+d2=0 (3)
a3xw+b3xw+c3xw+d3=0 (4)
式(2)-(4)中:a,b,c,d分别是平面π1,π2,π3的平面方程系数,经过标定后得到拟合光平面的目标方程为:
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>a</mi>
<mi>n</mi>
</msub>
<mo>,</mo>
<msub>
<mi>b</mi>
<mi>n</mi>
</msub>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>n</mi>
</msub>
<mo>,</mo>
<msub>
<mi>d</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mfrac>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>a</mi>
<mi>n</mi>
</msub>
<msubsup>
<mi>x</mi>
<mi>w</mi>
<mi>n</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>b</mi>
<mi>n</mi>
</msub>
<msubsup>
<mi>y</mi>
<mi>w</mi>
<mi>n</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>c</mi>
<mi>n</mi>
</msub>
<msubsup>
<mi>z</mi>
<mi>w</mi>
<mi>n</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>d</mi>
<mi>n</mi>
</msub>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>a</mi>
<mi>n</mi>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>b</mi>
<mi>n</mi>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<msubsup>
<mi>c</mi>
<mi>n</mi>
<mn>2</mn>
</msubsup>
<mo>)</mo>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
5)获取图像,将待测的凹球重新放在工作台原来的位置上,进行图像采集;
6)分割并识别三个激光线条,从采集的图像中提取凹球内激光线条和细化凹球,将提取的激光线条与结构光平面匹配获取n组在三条激光线上的图像平面坐标系上的点(xu,yu);
7)激光线条上点的三维重建,基于式(1)-(4),进行凹球面内激光线条上点的三维重建,获取n个世界坐标系下的三维坐标(xw,yw,zw);
8)进行凹球的拟合,利用最小二乘法对球进行拟合,待测球的一般方程为:
(x-a)2+(y-b)2+(z-c)2=r2 (6)
对上述方程进行变形,得到如下的形式:
x·2a+y·2b+z·2c+r2-a2-b2-c2=x2+y2+z2 (7)
令m=2a,f=2b,j=2c,k=r2-a2-b2-c2,则式(6)可用表示为如下的形式:
x·m+y·f+z·j+k=x2+y2+z2 (8)
则球的拟合问题可转换为已知n组坐标点(x,y,z),求式(7)的超定线性方程组的最小二乘解(m*,f*,j*.k*),其求解过程用矩阵形式表示如式(8)所示:
<mrow>
<msup>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mi>T</mi>
</msup>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msup>
<mi>m</mi>
<mo>*</mo>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>f</mi>
<mo>*</mo>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>j</mi>
<mo>*</mo>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>k</mi>
<mo>*</mo>
</msup>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<msup>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mn>1</mn>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mn>2</mn>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mrow></mrow>
</mtd>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>y</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>z</mi>
<mi>n</mi>
</msub>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mi>T</mi>
</msup>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mn>1</mn>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>y</mi>
<mn>1</mn>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msubsup>
<mi>z</mi>
<mn>1</mn>
<mn>2</mn>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mn>2</mn>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>y</mi>
<mn>2</mn>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msubsup>
<mi>z</mi>
<mn>2</mn>
<mn>2</mn>
</msubsup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>...</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<msub>
<mi>x</mi>
<mi>n</mi>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<msub>
<mi>y</mi>
<mi>n</mi>
</msub>
<mn>2</mn>
</msup>
<mo>+</mo>
<msubsup>
<mi>z</mi>
<mi>n</mi>
<mn>2</mn>
</msubsup>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>9</mn>
<mo>)</mo>
</mrow>
</mrow>
其中n>4,可以求得:m*,f*,j*,k*;
9)获取凹球的半径,最终球心坐标与半径的表达式如下:
<mrow>
<mi>a</mi>
<mo>=</mo>
<msup>
<mi>m</mi>
<mo>*</mo>
</msup>
<mo>/</mo>
<mn>2</mn>
<mo>,</mo>
<mi>b</mi>
<mo>=</mo>
<msup>
<mi>f</mi>
<mo>*</mo>
</msup>
<mo>/</mo>
<mn>2</mn>
<mo>,</mo>
<mi>c</mi>
<mo>=</mo>
<msup>
<mi>j</mi>
<mo>*</mo>
</msup>
<mo>/</mo>
<mn>2</mn>
<mo>,</mo>
<mi>r</mi>
<mo>=</mo>
<msqrt>
<mrow>
<msup>
<mi>a</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mi>b</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mi>c</mi>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mi>k</mi>
<mo>*</mo>
</msup>
</mrow>
</msqrt>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>10</mn>
<mo>)</mo>
</mrow>
</mrow>
则最终凹球的直径为:
<mrow>
<mi>d</mi>
<mo>=</mo>
<mn>2</mn>
<mi>r</mi>
<mo>=</mo>
<msqrt>
<mrow>
<msup>
<mrow>
<mo>(</mo>
<msup>
<mi>m</mi>
<mo>*</mo>
</msup>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<msup>
<mi>f</mi>
<mo>*</mo>
</msup>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<msup>
<mrow>
<mo>(</mo>
<msup>
<mi>j</mi>
<mo>*</mo>
</msup>
<mo>)</mo>
</mrow>
<mn>2</mn>
</msup>
<mo>+</mo>
<mn>4</mn>
<msup>
<mi>k</mi>
<mo>*</mo>
</msup>
</mrow>
</msqrt>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>11</mn>
<mo>)</mo>
</mrow>
<mo>.</mo>
</mrow>
6.如权利要求5所述的测量方法,其特征在于:相机内参数使用张正友标定法进行标定,标定后得到fc[2],cc[2],alpha_c参数,各参数的含义如式(12)所示:
<mrow>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>u</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>y</mi>
<mi>u</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<msub>
<mi>z</mi>
<mi>c</mi>
</msub>
</mfrac>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>f</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>a</mi>
<mi>l</mi>
<mi>p</mi>
<mi>h</mi>
<mi>a</mi>
<mo>_</mo>
<mi>c</mi>
<mo>*</mo>
<mi>f</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>c</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>f</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>c</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mi>R</mi>
</mtd>
<mtd>
<mi>T</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>x</mi>
<mi>W</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>y</mi>
<mi>W</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>z</mi>
<mi>W</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>12</mn>
<mo>)</mo>
</mrow>
</mrow>
比较式(1)与式(12)可得对应关系为:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mfrac>
<mi>f</mi>
<mrow>
<mi>d</mi>
<mi>x</mi>
</mrow>
</mfrac>
<mo>=</mo>
<mi>f</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>-</mo>
<mfrac>
<mi>f</mi>
<mrow>
<mi>d</mi>
<mi>x</mi>
</mrow>
</mfrac>
<mi>cot</mi>
<mi>&theta;</mi>
<mo>=</mo>
<mi>a</mi>
<mi>l</mi>
<mi>p</mi>
<mi>h</mi>
<mi>a</mi>
<mo>_</mo>
<mi>c</mi>
<mo>*</mo>
<mi>f</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mi>o</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>c</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>i</mi>
<mi>o</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>c</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mfrac>
<mi>f</mi>
<mrow>
<mi>d</mi>
<mi>y</mi>
<mo>&CenterDot;</mo>
<mi>sin</mi>
<mi>&theta;</mi>
</mrow>
</mfrac>
<mo>=</mo>
<mi>f</mi>
<mi>c</mi>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>13</mn>
<mo>)</mo>
</mrow>
<mo>.</mo>
</mrow>
7.如权利要求5所述的测量方法,其特征在于:相机引入透镜畸变后实际成像平面坐标系上点的坐标与理想情况下程序平面上点的坐标pi(xi,yi)之间的关系如下:
<mrow>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mover>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>~</mo>
</mover>
</mtd>
</mtr>
<mtr>
<mtd>
<mover>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>~</mo>
</mover>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mn>4</mn>
</msubsup>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>2</mn>
<msub>
<mi>p</mi>
<mn>1</mn>
</msub>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>p</mi>
<mn>2</mn>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<mn>2</mn>
<msubsup>
<mi>x</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mo>+</mo>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mn>4</mn>
</msubsup>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>p</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<msubsup>
<mi>r</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
<mo>+</mo>
<mn>2</mn>
<msubsup>
<mi>y</mi>
<mi>i</mi>
<mn>2</mn>
</msubsup>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>2</mn>
<msub>
<mi>p</mi>
<mn>2</mn>
</msub>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>14</mn>
<mo>)</mo>
</mrow>
</mrow>
式中:ri为该点距离成像仪中心的半径,(k1,k2,p1,p2)为描述相机畸变的四个参数;
pu(xu,yu)与pi(xi,yi)之间的关系如下:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>u</mi>
</msub>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>y</mi>
<mi>u</mi>
</msub>
<mo>=</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>i</mi>
<mn>0</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>y</mi>
<mi>i</mi>
</msub>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>15</mn>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
步骤1)中的相机内部参数标定还包括透镜畸变相关参数的标定,标定后得到kc[5],与式(2)的对应关系如下:
k1=kc(1),k2=kc(2),p1=kc(3),p2=kc(4) (16)。
8.如权利要求5所述的测量方法,其特征在于:步骤1)标定后还得到标定结构的像素误差参数Error[2]。
9.如权利要求5所述的测量方法,其特征在于:步骤4)中的标定分两步进行,第一步将三线结构光投射到相机已标定好内外参数的zw=0的平面上,得到3个结构光平面在zw=0的平面上一条交线上所有点的三维坐标;第二步将厚度为h0的量块放在zw=0的平面上,量块上表面在世界坐标系下的方程为:zw=h0,同样可以得到3个结构光平面与此平面上交线的所有的点的三维坐标;利用上面得到的世界坐标,针对每一个结构光平面都可以有足够的点进行光平面的拟合。
10.如权利要求5~9之一所述的测量方法,其特征在于:步骤6)中通过图像分割算法来提取凹球内激光线条,基于骨架提取算法来细化凹球,基于连通区域标记算法来匹配激光线条与结构光平面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710102870 | 2017-02-24 | ||
CN2017101028703 | 2017-02-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107084671A true CN107084671A (zh) | 2017-08-22 |
CN107084671B CN107084671B (zh) | 2019-07-16 |
Family
ID=59613046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710291155.9A Active CN107084671B (zh) | 2017-02-24 | 2017-04-28 | 一种基于三线结构光的凹球直径测量系统及测量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107084671B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108709499A (zh) * | 2018-04-28 | 2018-10-26 | 天津大学 | 一种结构光视觉传感器及其快速标定方法 |
CN109489572A (zh) * | 2018-12-28 | 2019-03-19 | 浙江农林大学 | 一种汽车空调活塞内球面直径检测装置 |
CN109708583A (zh) * | 2019-03-05 | 2019-05-03 | 洛阳德晶智能科技有限公司 | 一种基于线结构光的圆柱体直径测量系统及测量方法 |
CN110223267B (zh) * | 2018-03-14 | 2021-06-18 | 浙江大学山东工业技术研究院 | 基于高度直方图分割的耐火砖深度缺陷的识别方法 |
CN113358052A (zh) * | 2021-04-09 | 2021-09-07 | 宿迁学院 | 一种快递尺寸测量装置及方法 |
CN114322802A (zh) * | 2021-12-30 | 2022-04-12 | 苏州中科行智智能科技有限公司 | 一种基于3d线激光相机的线径测量方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764364A (en) * | 1993-04-22 | 1998-06-09 | Imab Stiftung | Scattered-light laser microscope |
CN1403783A (zh) * | 2002-09-18 | 2003-03-19 | 清华大学 | 一种非球面镜顶点曲率半径测量方法及装置 |
US20060127369A1 (en) * | 2002-09-27 | 2006-06-15 | Carlsberg A/S | Spatially encoded polymer matrix |
CN101403606A (zh) * | 2008-10-20 | 2009-04-08 | 中国海洋大学 | 基于线结构光的大视场两轴测量装置 |
CN101619962A (zh) * | 2009-07-30 | 2010-01-06 | 浙江工业大学 | 基于全彩色全景led光源的主动三维立体全景视觉传感器 |
US7655881B2 (en) * | 2001-06-15 | 2010-02-02 | Semiconductor Energy Laboratory Co., Ltd. | Laser irradiation stage, laser irradiation optical system, laser irradiation apparatus, laser irradiation method, and method of manufacturing a semiconductor device |
CN102829749A (zh) * | 2012-06-28 | 2012-12-19 | 天津大学 | 微阵列结构光学器件面型精度评价方法 |
US8593648B2 (en) * | 2011-02-14 | 2013-11-26 | Faro Technologies, Inc. | Target method using indentifier element to obtain sphere radius |
CN103411553A (zh) * | 2013-08-13 | 2013-11-27 | 天津大学 | 多线结构光视觉传感器的快速标定方法 |
CN205014957U (zh) * | 2015-08-11 | 2016-02-03 | 辽宁精智测控科技有限公司 | 一种基于多线结构光的三维测量系统 |
-
2017
- 2017-04-28 CN CN201710291155.9A patent/CN107084671B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764364A (en) * | 1993-04-22 | 1998-06-09 | Imab Stiftung | Scattered-light laser microscope |
US7655881B2 (en) * | 2001-06-15 | 2010-02-02 | Semiconductor Energy Laboratory Co., Ltd. | Laser irradiation stage, laser irradiation optical system, laser irradiation apparatus, laser irradiation method, and method of manufacturing a semiconductor device |
CN1403783A (zh) * | 2002-09-18 | 2003-03-19 | 清华大学 | 一种非球面镜顶点曲率半径测量方法及装置 |
US20060127369A1 (en) * | 2002-09-27 | 2006-06-15 | Carlsberg A/S | Spatially encoded polymer matrix |
CN101403606A (zh) * | 2008-10-20 | 2009-04-08 | 中国海洋大学 | 基于线结构光的大视场两轴测量装置 |
CN101619962A (zh) * | 2009-07-30 | 2010-01-06 | 浙江工业大学 | 基于全彩色全景led光源的主动三维立体全景视觉传感器 |
US8593648B2 (en) * | 2011-02-14 | 2013-11-26 | Faro Technologies, Inc. | Target method using indentifier element to obtain sphere radius |
CN102829749A (zh) * | 2012-06-28 | 2012-12-19 | 天津大学 | 微阵列结构光学器件面型精度评价方法 |
CN103411553A (zh) * | 2013-08-13 | 2013-11-27 | 天津大学 | 多线结构光视觉传感器的快速标定方法 |
CN205014957U (zh) * | 2015-08-11 | 2016-02-03 | 辽宁精智测控科技有限公司 | 一种基于多线结构光的三维测量系统 |
Non-Patent Citations (4)
Title |
---|
万仁全: "基于结构光的大尺寸工件三维测量研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
唐苏明: "三维曲面测量的编码结构光技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
施文康等: "《检测技术》", 31 May 2000, 机械工业出版社 * |
金明: "结构光多视角测量技术的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223267B (zh) * | 2018-03-14 | 2021-06-18 | 浙江大学山东工业技术研究院 | 基于高度直方图分割的耐火砖深度缺陷的识别方法 |
CN108709499A (zh) * | 2018-04-28 | 2018-10-26 | 天津大学 | 一种结构光视觉传感器及其快速标定方法 |
CN109489572A (zh) * | 2018-12-28 | 2019-03-19 | 浙江农林大学 | 一种汽车空调活塞内球面直径检测装置 |
CN109489572B (zh) * | 2018-12-28 | 2020-08-11 | 浙江农林大学 | 一种汽车空调活塞内球面直径检测装置 |
CN109708583A (zh) * | 2019-03-05 | 2019-05-03 | 洛阳德晶智能科技有限公司 | 一种基于线结构光的圆柱体直径测量系统及测量方法 |
CN113358052A (zh) * | 2021-04-09 | 2021-09-07 | 宿迁学院 | 一种快递尺寸测量装置及方法 |
CN114322802A (zh) * | 2021-12-30 | 2022-04-12 | 苏州中科行智智能科技有限公司 | 一种基于3d线激光相机的线径测量方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107084671B (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107084671B (zh) | 一种基于三线结构光的凹球直径测量系统及测量方法 | |
CN106017325B (zh) | 一种改进的复杂表面和不规则物体体积的非接触光学测量方法 | |
CN105716542B (zh) | 一种基于柔性特征点的三维数据拼接方法 | |
CN108986070B (zh) | 一种基于高速视频测量的岩石裂缝扩展实验监测方法 | |
CN109520436B (zh) | 一种基于机器视觉的蝶形弹簧三维尺寸自动测量系统及其测量方法 | |
CN107121093A (zh) | 一种基于主动视觉的齿轮测量装置及测量方法 | |
CN112985293B (zh) | 一种单像机双球面镜镜像双目视觉测量系统和测量方法 | |
CN110672020A (zh) | 一种基于单目视觉的立木高度测量方法 | |
CN110375648A (zh) | 棋盘格靶标辅助的单台相机实现的空间点三维坐标测量方法 | |
CN106643492B (zh) | 一种航空发动机损伤叶片三维数字散斑造型方法 | |
CN104655011A (zh) | 一种不规则凸面物体体积的非接触光学测量方法 | |
CN110608685A (zh) | 一种基于树莓派的物体尺寸快速测量方法 | |
CN110966956A (zh) | 一种基于双目视觉的三维检测装置和方法 | |
CN105957096A (zh) | 一种用于三维数字图像相关的相机外参标定方法 | |
CN102221331A (zh) | 一种基于不对称双目立体视觉技术的测量方法 | |
CN106918306A (zh) | 基于光场单相机的工业产品三维形貌实时检测系统 | |
CN111179335A (zh) | 一种基于双目视觉的立木测定方法 | |
CN107121061B (zh) | 一种基于椭圆锥约束的制孔点法矢量求解方法 | |
CN101650156A (zh) | 超塑性非球面自由胀形几何参数测量装置和方法 | |
CN107796718A (zh) | 布氏硬度测量系统及方法 | |
CN103884294B (zh) | 一种宽视场的红外光三维形貌测量的方法及其装置 | |
CN109493418A (zh) | 一种基于LabVIEW的三维点云获取方法 | |
CN111353997A (zh) | 一种基于条纹投影的实时三维面型缺陷检测方法 | |
CN110097540A (zh) | 多边形工件的视觉检测方法及装置 | |
CN112116665A (zh) | 一种结构光传感器标定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |