展开后的相位函数用u(j)来表示,那么相位展开过程可表示如下:
u(j)=w(j)+2nj
nj=INT(w(j)-w(j-1)/2)+nj-i(2-10)
no=0
上式中,INT是取整运算符。
实际中的相位数据都是与采样点相对应的一个二维矩阵,所以实际上的相位
展开应在二维阵列中进行。
首先沿二维矩阵中的某一列进行相位展开,然后以展开后的该列相位为基准,沿每一行进行相位展开,得到连续分布的二维相位函数。
相应的,也可以先对某行进行相位展开,然后以展开后的该行相位为基准,沿每一列进行相位展开。
只要满足抽样定理的条件,相位展开可以沿任意路径进行。
对于一个复杂的物体外表,由于物体外表起伏较大,得到的条纹图十分复杂。
例如,条纹图形中存在局部阴影,条纹图形断裂,在条纹局部区域不满足抽样定理,即相临抽样点之间的相位变化大于n。
对于这种非完备条纹图形,相位展开是一个非常困难的问题,这一问题也同样出现在干预型计量领域。
最近已研究了多种复杂相位场展开的方法,包括网格自动算法、基于调制度分析的方法、二元模板法、条纹跟踪法、最小间距树方法等,使上述问题能够在一定程度上得到解决或局部解决。
3高度计算
在上面分析了测量高度和系统结构参数的关系,如公式(2-6)。
其中有三个
与系统结构有关的参数,即投射系统出瞳中心和CCD成像系统入瞳中心之间的距离L,共轭相位面上的光栅条纹周期po,以及投射光轴和成像光轴之间的夹角。
这几个参数是在系统满足一定约束条件下测得参数值,这些约束条件包括:
1)CCD成像系统的光轴必须和参考面垂直,即保证一定的垂直度;
2)投射系统的出瞳和成像系统的入瞳之间的连线要与参考面平行;
3)投射系统的光轴和CCD光轴在同一平面内,并交于参考面内一点。
为了方便系统测量,本实验采用简便的标定法,防止参数标定的繁琐过程,
提高系统的适应性。
标定测量原理如图4所示,首先建立如图4所示的物空间坐标系O-XYZ和相位图像坐标系QIJ:
以参考面所在的平面为XOY平面〔也就是零基准面〕,垂直于XOYS并交XOY于点O的轴为Z轴,此时建立的坐标系称为物空间坐标系;选择相位图的横轴为J、竖轴为I建立相位图像坐标系。
在参考面初
始位置zi=0时,可以通过多步相移法获得参考面上的截断相位分布,该截断相位的展开相位分布为〔i,j,1〕,i,j是相位图坐标系中的坐标值;将参考面沿z
轴正方向平移一定距离厶Z到达Z2=△Z后,同样通过多步相移法获得参考面条纹分布,并由此求得展开相位〔i,j,2〕;同理,依次等间距移动参考面到多个
位置Zk=〔k-1〕△z并得到对应位置参考面上的展开相位
图4不同位置参考面高度与相位的对应关系
由相位-高度映射算法,物面高度〔相对于参考平面〕可表示为:
(2-11)
用高次曲线表示更为恰当。
本文采用二次曲线,〔2-10〕式可改写为:
1
1
a(x,y)b(x,y)
1
c(x,y)
h(x,y)
h(x,y)
h(x,y)
(2-12)
为了求出a(x,y)、
b(x,y)、c(x,y),
图4中基准参考平面(其
法线方向与摄像机光轴平行
)的个数必须大于等于4,
相邻平面间的距离为一已
知常数。
首先令h(x,y)为零基准面上的连续相位分布,由平面2、平面3、平面4三个平面得到的三个线性方程可解出a(x,y)、b(x,y)、c(x,y)三个未
知常数(注:
这里每个常数实际上是二维常数矩阵);保存三个常数到计算机中,由测量时得到相位图的绝对相位,对相位图中的每一点进行相应运算,就可以确定每一点的高度值,即实现面形的测量。
4光路原理图
实验操作
三维测量系统是基于平台开发的,可利用光学三维测量实验仪进行
图像的采集与数据处理,重建待测物体的三维形貌。
使用前请根据Readme正确
安装驱动和软件。
为了从相位分布信息计算出物体的深度/高度信息和宽度信息,必须将相位—高度标定结果存为biaoding.txt文件,存放于C盘根目录中,包含的具体参数和格式见附录一。
此文件可以使用软件自带标定模块生成。
使用流程简介
三维测量系统软件,大致可分为三个模块:
图像采集模块、标定模块和数据处理模块,分别进行图像的采集、标定文件的生成和三维重建。
(1)图像采集
点击工具栏中菖按钮或菜单中的“系统操作一数据采集〞命令,进入图像采集模块。
分为四个区域:
平移台控制区、图像采集与显示区和信息区。
假设返回主程序,请点击“退出〞按钮。
1.平移台的控制
(1).选择电动平移台联结的串口号,点击“翻开电移台〞按钮,
之后可以操作电移台。
初始设置“位置号〞为0,“相移〞为0。
注:
“位置号〞说明平移台共移动了几步,“相移〞说明当前应当拍摄图片的帧数。
(2).设置“移动步长〞,毫米为单位;点击“移动一步〞按钮,
可以使平移台按设置的步长移动一次,同时“位置号〞加1,“相移〞置零。
屡次点击按钮,将平移台移动到适宜位置。
2.图像的采集
(1).点击“设置存放目录〞按钮,设置采集图像存放的位置。
(2).点击“翻开图像卡〞按钮,在图像显示区动态显示CCD寻到
的图像。
⑶.点击“获取图片〞按钮,米集单帧图像,图像名称为:
Image位置号—相移.bmp,存放在设置的目录中。
此时图像显示区显示采集得到的图像,几秒后恢复动态显示。
(4).点击“关闭图像卡〞,关闭图像卡,结束采集。
(5).如果不改变位置号或相移数,图像名不改变,那么新采集图像
将覆盖已有图像。
(6).点击“相移+1〞,相移数加1,然后可以点击“获取图片〞,
采集下一帧图片。
(7).点击“回零位〞,可以使平移台回到初始位置。
“位置号〞置
0,“相移〞置0。
(8).点击“相移复位〞,可以使“相移〞置0。
(2)系统标定
1•如果系统还未标定,或者标定文件损坏,需要重新标定系统,请点击工具栏中详。
按钮或者菜单“系统操作一系统标定〞项。
2.设置好标定面位置数,每一标定位置的相移次数,以及标定面每次移动的距离(mm),然后点击“开始标定〞按钮,选择标定图像的存储路径后,点击“打开〞按钮,开始标定。
最终得到标定文件biaoding.txt,存放在C盘根目录下。
(3)数据处理
1•点击贋按钮或者菜单“文件—翻开〞,点击翻开需要处理图像组中的任一图像,待处理图像将显示在图像显示区。
按钮或菜单中“系统操作
2•按住鼠标左键选择感兴趣区域,再点击工具栏一数据处理〞项。
3.
、“计算截断相
在下拉菜单中选择相移次数,然后依次点击“数据处理开始〞
位〞“相位展开〞、“减掉参考面〞及“高度信息恢复〞按钮,进行三维重建,重建结束后,点击“0K〞按钮退出数据处理对话框。
4•重建结束后,可以选择菜单“处理结果〞中的命令,查看每一步计算结果。
如果测量对象是平行于参考平面的平面,可查看“处理结果〞中的结果报告,获得平面的最大值、最小值、平均值及均方差。
等按钮,对图像显示区显示的图像进行放大、拉线、三维显示以及平面显示操作,每次操作后点击平面显示按钮,显示的图像可回到灰度平面显示
状态。
进行图像放大操作后,如要回到原始大小,点击鼠标右键即可。
6.点击工具栏□按钮或菜单中的“文件一保存〞命令,可以将当前图像显示区中显示的图像保存为bmp图像。
7.如果希望继续计算其它测量图像,重复1到4步即可
附录一标定文件格式和参数
系统经过标定以后将标定结果存储在C盘根目录下,如果标定文件不存在,无法进行高度的恢复。
Biaoding.txt文件
储存相位-高度转换所需系数和参考面相位值。
对于图像上每一个点,文件应包含四个参数:
ParPhaseHeightlParPhaseHeight2ParPhaseHeight3和UnwrapPhaseRefQ均为二维矩阵,矩阵大小是由CCD像面大小确定的,也就是由标定测量视场所确定。
相位—高度转换按照二次函数关系确定。
像面上某一点〔u,v〕的高度可
以由下式计算得到
phase(u,v)=UnwrapPhase(u,v—UnwrapPhaseRefO(u,v)
Z(u,v)=ParPhaseHeight1(u,v)*phase(u,v)A2+ParPhaseHeight2(u,
v)*phase(u,v)+ParPhaseHeight3(u,v)
其中ParPhaseHeightlParPhaseHeight2和ParPhaseHeight3是位相—高度标定时按照上式确定的拟合系数,UnwrapPhaseRef0是计算高度时所需的参考平面,是根据实验系统和实际情况人为指定的某一个标定平面,
UnwrapPhase(u,v是像面上(u,v)点的展开相位值。
附录二图像文件命名规那么
为获得准确的三维重建结果,三维测量系统需要多帧相移图像进行三维重建。
1.数据处理所用的图像命名规那么如下:
******0.bmp:
含有圆心的图像;
******1.bmp:
第一帧条纹图像;
******2.bmp:
第二帧条纹图像;
******3.bmp:
第三帧条纹图像;
如:
某次测量中采用五帧相移算法,所需的六帧测量图像分别为:
test3-0、
test3-1、test3-2、test3-3、test3-4、test3-5。
2.系统标定所用的图像命名规那么如下:
******00_0.bmp:
第一标定面位置含有质心图像;
******00_1.bmp:
第一标定面位置第一帧条纹图像;
******00_2.bmp:
第一标定面位置第二帧条纹图像;
******01_0.bmp:
第二标定面位置含有质心图像;
******01_1.bmp:
第二标定面位置第一帧条纹图像;
如:
某次标定采用五帧相移算法进行标定,第一标定面的六帧测量图像
分别为:
Capture00_0.bmp、Capture00_1bmp、Capture00_2.bmp、
Capture00_3.bmpCapture00_4.bmpCapture00_5.bmp第二标定面图像为:
Capture01_0.bmpCapture01_1.bmp
附录三图形操作命令简介
图形操作〞命令共有四个,分别对应于图形操作菜单和工具栏
等按钮,用于图像显示区显示的图像进行放大、拉线、三维显示以及平面显示操作。
放大羸J:
选择“图形操作〞菜单栏中“放大〞命令或点击工具栏I霆可进行放大操作。
鼠标左键点击待放大区域起点,拖动鼠标至待放大区域终点再点击左键,屏幕上会显示所选区域放大后的图像。
进行图像放大操作后,如要回到原始大小,点击鼠标右键即可。
拉线:
选择“图形操作〞菜单栏中“拉线〞命令或点击工具栏可进
行拉线操作。
该命令可查看感兴趣的一行或一列图像。
在平面显示状态,鼠标左键点击拉线起点,拖动鼠标至拉线终点再点击左键,屏幕上会显示所选区域拉线图像。
假设要回到平面显示状态,击平面显示按钮:
SI即可。
三维显示雀:
选择“图形操作〞菜单栏中“三维显示〞命令或点击工具
栏可进行三维显示操作。
该命令可查看当前图像区的三维形状。
假设要回到平面显示状态,击平面显示按钮」即可。
此命令下可对图像进行平移和旋转操作,方法:
⑴平移,按住鼠标左键不放,拖动鼠标即可;⑵旋转,同时按住shift键
和鼠标左键,拖动鼠标可进行旋转操作。
平面显示1=1:
选择“图形操作〞菜单栏中“平面显示〞命令或点击工具栏丘可在图像显示区显示灰度平面图像。
实验本卷须知
1光路调整
〔1〕用半导体激光做高度基准,调整各光学透镜中心高度一致。
各个元件都固定在导轨上。
首先校准激光束水平度。
可用可变光阑,在邻近激光器的位置,使激光束通过光阑的中心,再把光阑沿导轨平行移至台上尽量远位置,调整激光器俯仰角度和光阑的高度,使光阑中心与激光束中心重合。
再将光阑沿导轨平行移至邻近激光器的位置,调整激光器俯仰角度和光阑的高度,使光阑中心与激光束中心重合。
重复上述过程,直到邻近和远离两个位置光阑中心与激光束中心都重合。
在此光束中逐个放入透镜的支架,调整支架高度,使有无透镜时激光束中心不发生上下偏移,此时系统各光学元件光轴重合;
〔2〕将白光点光源放入光路中,将透镜1放入光路中,调节白光点光源的高度,使从透镜出射的光通过测量物的中心;
〔3〕将固定标准平面的支架固定在导轨上,将固定光学件的导轨与装置CCD的导轨1成25度左右角安置;
〔4〕调节标准平面的俯仰,使标准平面垂直系统的光轴;调节方法与步骤
〔1〕类似,在标准平面上做一标记点,相当于步骤〔1〕中的光阑中心;
〔5〕调整各个透镜间的距离,将白光点光源放置在透镜1的焦平面上,从
透镜1出射近似平行光照明正弦光栅,透过透镜2照射到待测物体外表;
〔6〕调节CCD勺高度,使CCD镜头中心与透镜2尽量等高;
〔7〕调节CCD与被测面的距离,使光栅像充满整个CCD像面。
2实验测量过程
〔1〕将2线/mm的正弦光栅放入调整好的光路中,调节CCD与被测面的距
离,使光栅像充满整个CCD像面;
〔2〕调整测量物的高度,使光栅像照射到感兴趣区域,同时此区域可被CCD接收;
〔3〕翻开软件图像采集功能,将有标定光源的图像信息记录下来
〔4〕沿垂直于导轨方向移动光栅,每次移动1/5栅距〔0.1mm,记录每次移动后的光栅图像,共5幅;〔假设用4次相移那么为四帧条纹图共五幅图像〕
3软件处理
用第前面介绍的三维测量系统软件处理图像,再现被测面的面形特征。