Applied Physics
Vol.06 No.01(2016), Article ID:16836,6 pages
10.12677/APP.2016.61001

The Design and Simulation of MATLAB GUI Based on Fourier Transform Profilometry

Manning Sun*, Lijuan Yang, Yimei Shu, Ju Cheng, Xiantian Bian

Important Laboratory of Modern Testing Technology and Intelligent System of Jiangsu, Huaiyin Normal University, Huai’an Jiangsu

Received: Jan. 5th, 2016; accepted: Jan. 22nd, 2016; published: Jan. 28th, 2016

Copyright © 2016 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

ABSTRACT

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.

Keywords:Three-Dimensional Measurement, GUI Interface, Fourier Transform Profilometry

傅里叶变换轮廓术的MATLAB GUI设计与仿真

孙漫凝*,杨丽娟,束益梅,程菊,边心田

淮阴师范学院,江苏省现代检测技术与智能系统重点建设实验室,江苏 淮安

收稿日期:2016年1月5日;录用日期:2016年1月22日;发布日期:2016年1月28日

摘 要

在傅里叶变换轮廓术的基础上,利用MATLAB的用户界面设计了基于傅里叶变换轮廓术的仿真交互界面,给出了三维面形测量的仿真结果。该平台具有人机界面友好、操作方便、速度快等优点,将三维面形测量和实验很好的结合起来。利用理论分析和计算机模拟,为三维测量的教学和研究工作开辟了新的途径。

关键词 :三维测量,GUI界面,傅里叶变换轮廓术

1. 引言

光学三维传感具有非接触性、测量精度高等优点,在逆向工程、工业检测、机器视觉、文物保护、生物医学等领域具有广泛的应用[1] -[5] 。其中,基于条纹投影的傅里叶变换轮廓术 [6] (FTP)具有单帧获取、高分辨率、实时性好等优点,自1983年FTP提出 [7] 以来,受到人们广泛的关注。

MATLAB因其强大的数值计算、数据分析和可视化仿真能力,在高校和科研机构得到广泛的应用。MATLAB为用户提供了功能强大的可视化图形界面开发环境(GUI),通过GUI,用户可以快捷方便地创建GUI应用程序,可以根据用户设计的GUI布局,自动生成M文件的框架,用户使用这一框架编写自己的应用程序。GUI用户界面友好、使用简单,运用广泛,能够快速、方便地进行某种技术或方法的演示,将GUI运用到三维测量中也为实验演示与教学提供了新的途径 [7] [8] 。

2. 基本原理

2.1. 光栅模型

我们所使用的傅里叶变换方式的测量系统的光路图如下图1所示,A为投影仪的出射光瞳,摄像系统光轴C0垂直于参考面并且与投影系统光轴AO相交于O点,投影光栅的栅线垂直于AOC的平面,不失一般性,设,AO与其参考面上发现的夹角为

Figure 1. The light path diagram of FTP measurement system

图1. FTP测量系统光路图

不失一般性,我们可以设,由几何知识知 [9] :

(1)

式中为投影仪的焦距。

投影到参考面上的条纹是等周期分布的,使其周期为,其参考面上的相位分布是坐标的线性函数,投影仪上E'点与参考面上的F点的相位相对应,因此由(1)式可得,投影光栅的相位分布函数 [9] 为:

(2)

2.2. 测量原理

测量系统的光路 [5] 如图1所示,AO是投影光轴,CO是摄像系统的光轴,且CO垂直于参考平面并与投影光轴AO相交于O点,OF所在的平面为参考平面。是C点到参考平面的距离,是A点与C点之间的距离。D点和F点是参考平面上的两点,G点是物体上的一点。

我们采用正弦光栅投影到物体的表面上,经过物体表面的漫反射,CCD接收到参考光栅像和变形光栅像,然后对采集到的图像进行傅里叶变换、滤波、傅里叶逆变换等操作最终恢复出参考光栅和变形光栅的光场分布分布。被测物体的相位分布可表示 [6] 为:

(3)

式中,表示取其复数的虚部,表示共轭运算。

图1中,我们可以将三维表面上被测量的点G的高度记为,由相似三角形可以计算出物体表面的高度分布 [5] 为:

(4)

由此我们可以得到物体的三维图像的恢复,同时,我们也可以从上式当中看出,物体恢复重建的精度取决于相位的测量精度、光栅像的基频以及投影系统光轴与摄影系统光轴的距离

3. FTP的GUI设计与仿真

3.1. 框架设计

打开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。

Figure 2. Simulation interface

图2. 仿真界面

相应的程序如下:

%设置条纹频率的大小

%设置系统参数L的大小

%设置系统参数d的大小

%设置噪声的大小

2) 就这4个滑动条而言,我们首先需要设置的就是滑动条的最大值和最小值,其次,我们要将滑动条显示的数据体现在动态文本框中。

相应的程序如下:

%获得条纹频率的滑动条数值

%将滑动条的数值显示在动态文本框

3) 调用pushbutton1_Callback函数,根据设置的具体参数绘制相应的初始条纹图、变形条纹图、恢复物体图以及误差分析图。程序调试完成后运行的界面如图3所示。

3.2. 仿真平台的使用

在程序编写完成以后,我们首先根据经验将初始值先设定好,如图4中所示,条纹频率f设置为0.05,系统参数成像系统到参考面的距离L为1800 cm,系统参数投影系统与成像系统之间的距离d为900 cm,在条纹图强度上加入随机噪声为0.03,分别点击事先设定好的相应按钮,便会出现如下图所示的情况。我们能够清楚的看到,在将初始的条纹图进行一定程度上的变形后,可以明显的看到条纹的变形处有一个类似圆形的形状,而将其恢复时(见下图中的恢复物体图),与原图相比较而言出现了一定的差距,通过变化,将其与原图像的差距进行弥补,而就是由于其与原图有一定的差距,从而使我们能够得到第四幅图——误差分析。

Figure 3. The show figure of program debugging

图3. 程序调试展示图

Figure 4. The interface diagram of simulation operation

图4. 仿真运行界面图

模拟运行的过程当中,我们通过滑动条来不断的改变条纹频率f、系统参数L和d、以及噪声这4个参数,与此同时条纹图和恢复物体的图像都会随之发生相应的变化,从而由此产生不同的误差分析的结果 [9] 。

与之相比,增大噪声的时候,恢复物体图的形状以及条纹图的形状也都有了一定的变化。

将条纹频率f、系统参数L和噪声固定不变,同时只变化系统参数d的示数,我们可以发现当d变大的时候,投影的条纹图和变形的条纹图的条纹间的宽度相应的有变宽。

如果保持条纹频率f、系统参数d和噪声不变,只变化系统参数L的时候,我们可以发现,当L变小的时候,投影的条纹图和变形的条纹图的条纹间的宽度相应的有变宽,同时误差分析的精度有下降。

而如果使得系统参数d、L和噪声不变,只变化条纹的频率f的时候,通过GUI设计模拟仿真我们可以看出,当L变小的时候,投影的条纹图和变形的条纹图条纹清晰宽度变宽,但是通过物体的变形条纹图就不那么明显了,同时恢复物体的形状也不是很好。

4. 结论

利用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

参考文献 (References)

  1. 1. 陈文静, 陈锋, 苏显渝, 等. CCD抽样过程对傅里叶变换轮廓术测量的影响[J]. 光电子•激光. 2005, 16(9): 1075-1076.

  2. 2. 吴双卿, 张引, 张三元, 等. 傅里叶变换轮廓术物体三维形貌测量的系统分析及其坐标校准方法. 光学学报[J]. 2009, 29(10): 2781-2783.

  3. 3. 朱江平, 苏显渝, 向立群. 红外人脸隐蔽性三维测量[J]. 激光杂志, 2010, 31(3): 14-16.

  4. 4. Da, F.P. and Huang. H. (2012) A Novel Color Fringe Projection Based Fourier Transform 3D Shape Measurement Method. Optik, 123, 2233-2237. http://dx.doi.org/10.1016/j.ijleo.2011.11.014

  5. 5. 毛先富, 陈文静, 苏显渝. 傅里叶变换轮廓术新理论研究[J]. 中国激光, 2007, 34(1): 99-104.

  6. 6. 苏显渝. 信息光学[M]. 北京: 科学出版社, 2011.

  7. 7. Takeda, M. and Mutoh, K. (1983) Fourier Transform Profilometry for the Automatic Measurement of 3-D Object Shapes. Applied Optics, 22, 3977-3982. http://dx.doi.org/10.1364/AO.22.003977

  8. 8. 高峰, 赵文丽, 曹学成. 基于MATLAB GUI 的夫琅禾费单缝衍射仿真[J]. 山东农业大学学报(自然科学版), 2012, 43(3): 475-479.

  9. 9. 马云秀, 边心田. 相位测量轮廓术中投影条纹畸变的研究[J]. 光电技术应用, 2013, 28(4): 83-85.

*通讯作者。

期刊菜单