在傅里叶变换轮廓术的基础上,利用MATLAB的用户界面设计了基于傅里叶变换轮廓术的仿真交互界面,给出了三维面形测量的仿真结果。该平台具有人机界面友好、操作方便、速度快等优点,将三维面形测量和实验很好的结合起来。利用理论分析和计算机模拟,为三维测量的教学和研究工作开辟了新的途径。 On the basis of Fourier transform profilometry, we design interactive simulation interface of Fourier transform profilometry (FTP) with MATLAB GUI, then we can get the simulation results of three-dimensional shape measurement. The platform has the advantages of friendly man-machine interface, convenient operation, fast speed and so on; at the same time it can combine the three- dimensional shape measurement with experiment. By using theoretical analysis and computer simulation, a new approach has been opened up for the teaching and research of three-dimen- sional measurement.
孙漫凝*,杨丽娟,束益梅,程菊,边心田
淮阴师范学院,江苏省现代检测技术与智能系统重点建设实验室,江苏 淮安
收稿日期:2016年1月5日;录用日期:2016年1月22日;发布日期:2016年1月28日
在傅里叶变换轮廓术的基础上,利用MATLAB的用户界面设计了基于傅里叶变换轮廓术的仿真交互界面,给出了三维面形测量的仿真结果。该平台具有人机界面友好、操作方便、速度快等优点,将三维面形测量和实验很好的结合起来。利用理论分析和计算机模拟,为三维测量的教学和研究工作开辟了新的途径。
关键词 :三维测量,GUI界面,傅里叶变换轮廓术
光学三维传感具有非接触性、测量精度高等优点,在逆向工程、工业检测、机器视觉、文物保护、生物医学等领域具有广泛的应用[
MATLAB因其强大的数值计算、数据分析和可视化仿真能力,在高校和科研机构得到广泛的应用。MATLAB为用户提供了功能强大的可视化图形界面开发环境(GUI),通过GUI,用户可以快捷方便地创建GUI应用程序,可以根据用户设计的GUI布局,自动生成M文件的框架,用户使用这一框架编写自己的应用程序。GUI用户界面友好、使用简单,运用广泛,能够快速、方便地进行某种技术或方法的演示,将GUI运用到三维测量中也为实验演示与教学提供了新的途径 [
我们所使用的傅里叶变换方式的测量系统的光路图如下图1所示,A为投影仪的出射光瞳,摄像系统光轴C0垂直于参考面并且与投影系统光轴AO相交于O点,投影光栅的栅线垂直于AOC的平面,不失一般性,设
图1. FTP测量系统光路图
不失一般性,我们可以设
式中
投影到参考面上的条纹是等周期分布的,使其周期为
测量系统的光路 [
我们采用正弦光栅投影到物体的表面上,经过物体表面的漫反射,CCD接收到参考光栅像
式中,
从图1中,我们可以将三维表面上被测量的点G的高度记为
由此我们可以得到物体的三维图像的恢复,同时,我们也可以从上式当中看出,物体恢复重建的精度取决于相位
打开MATLAB找到GUI设计的界面,然后在布局编辑器中设置以下控件:建立4个坐标轴对象用来显示所要投影条纹的图像、变形之后投影条纹的图像、恢复物体的三维图像以及误差分析的图像;建立4个静态文本标签,标注相应的控件提示;建立4个可编辑文本框,分别显示频率、系统参数d和L、以及噪声;建立4个滑动条用以控制频率、系统参数d和L、以及噪声;建立6个按钮,分别绘制所需的所有图像,以及整个操作过程的开始与结束。设置以上所有控件的String和Tag属性,便于程序的编辑,如图2所示。
在MATLAB里对于每一幅所要展示的图相对应的程序代码进行编写,定义相应的函数形式也可直接调用MATLAB里自身的函数设置。
1) 在初始程序中,我们可以设置条纹频率f的值为0.08,系统参数成像系统到参考面的距离L为1800 cm,系统参数投影系统与成像系统之间的距离d为900 cm,在条纹图强度上加入随机噪声为0.01。
图2. 仿真界面
相应的程序如下:
2) 就这4个滑动条而言,我们首先需要设置的就是滑动条的最大值和最小值,其次,我们要将滑动条显示的数据体现在动态文本框中。
相应的程序如下:
3) 调用pushbutton1_Callback函数,根据设置的具体参数绘制相应的初始条纹图、变形条纹图、恢复物体图以及误差分析图。程序调试完成后运行的界面如图3所示。
在程序编写完成以后,我们首先根据经验将初始值先设定好,如图4中所示,条纹频率f设置为0.05,系统参数成像系统到参考面的距离L为1800 cm,系统参数投影系统与成像系统之间的距离d为900 cm,在条纹图强度上加入随机噪声为0.03,分别点击事先设定好的相应按钮,便会出现如下图所示的情况。我们能够清楚的看到,在将初始的条纹图进行一定程度上的变形后,可以明显的看到条纹的变形处有一个类似圆形的形状,而将其恢复时(见下图中的恢复物体图),与原图相比较而言出现了一定的差距,通过变化,将其与原图像的差距进行弥补,而就是由于其与原图有一定的差距,从而使我们能够得到第四幅图——误差分析。
图3. 程序调试展示图
图4. 仿真运行界面图
模拟运行的过程当中,我们通过滑动条来不断的改变条纹频率f、系统参数L和d、以及噪声这4个参数,与此同时条纹图和恢复物体的图像都会随之发生相应的变化,从而由此产生不同的误差分析的结果 [
与之相比,增大噪声的时候,恢复物体图的形状以及条纹图的形状也都有了一定的变化。
将条纹频率f、系统参数L和噪声固定不变,同时只变化系统参数d的示数,我们可以发现当d变大的时候,投影的条纹图和变形的条纹图的条纹间的宽度相应的有变宽。
如果保持条纹频率f、系统参数d和噪声不变,只变化系统参数L的时候,我们可以发现,当L变小的时候,投影的条纹图和变形的条纹图的条纹间的宽度相应的有变宽,同时误差分析的精度有下降。
而如果使得系统参数d、L和噪声不变,只变化条纹的频率f的时候,通过GUI设计模拟仿真我们可以看出,当L变小的时候,投影的条纹图和变形的条纹图条纹清晰宽度变宽,但是通过物体的变形条纹图就不那么明显了,同时恢复物体的形状也不是很好。
利用MATLAB GUI对傅里叶变换轮廓术进行仿真,编制了交互式界面,在界面中改变相关参数,可以仿真出不同参数条件下仿真测量的现象和结果,加深了学生对傅里叶变换轮廓术的理解,同时避免了学生在实验过程中由于仪器调节而产生的测量误差过大的问题,达到了理论与实验的结合。通过动态演示,整个测量过程形象直观,图像细致逼真,对于培养学生光学测量方面的兴趣具有积极的意义。
江苏省高等学校大学生实践创新训练计划项目,淮安市科技支撑计划(NO. HAG2014019)资助,淮阴师范学院青年优秀人才支撑计划(NO. 13HSQNZ03)。
孙漫凝,杨丽娟,束益梅,程 菊,边心田. 傅里叶变换轮廓术的MATLAB GUI设计与仿真 The Design and Simulation of MATLAB GUI Based on Fourier Transform Profilometry[J]. 应用物理, 2016, 06(01): 1-6. http://dx.doi.org/10.12677/APP.2016.61001