主权项 |
一种简易电子散斑干涉的实时相移方法,其特征在于,本方法步骤包括:1)在初始时刻,对被测物体采集四幅散斑图,它们依次间隔有<img file="2012100869272100001dest_path_image002.GIF" wi="34" he="20" />相移量,将这四幅散斑相移图保存下来;2)在测量过程中,实时采集被测物体的散斑图;3)把当前时刻采集到的散斑图与初始时刻保存的四幅散斑相移图分别相减,得到四幅当前时刻的散斑相移条纹图;4)为提高之后求解位相的信噪比,使用一种快速均值滤波算法对步骤3)中得到的四幅散斑相移条纹图进行滤波,滤波结果如下表示:<img file="dest_path_image024.GIF" wi="289" he="87" /><img file="dest_path_image026.GIF" wi="16" he="21" /><img file="dest_path_image028.GIF" wi="40" he="28" />表示快速均值滤波运算,快速均值滤波的主要思想是以滤波窗口的高度对每列像素进行分组,并将分组后的像素灰度值之和存储到事先定义的一个辅助数组A中,辅助数组的长度等于图像的宽度;在初始化了第R行像素对应的辅助数组后,根据一定的递归关系进行行变换和列变换,最终可以求得每个滤波窗口中心点像素对应的辅助数组A的值;有了A的值后,再进行相关的加法运算就可以就出滤波窗口中心点像素的平均灰度值,实现滤波; 初始化,从图像的第R行R列开始计算,其中R等于窗口的半径,将图像的第R列第0行到2R行的像素灰度值存储到A[0]中去,将第R+1列第0行到2R行像素灰度值的和存储到A[1]中,以此类推,直至将第ImageWidth,即图像宽度,‑R列第0行到2R行像素灰度值的和存储到A[ImageWidth‑1],在有了R行滤波窗口中心点像素对应的辅助数组值后,可以很方便的求得R行滤波窗口中心点像素的平均灰度值; 行列变换,求得R行滤波窗口中心点像素对应的辅助数组值后,进行一次行变换和一次列变换求得其他行列滤波窗口中心点像素对应的辅助数组值;行变换和列变换是本快速算法的核心,两次变换都是根据一定的递归关系求出其他行列每个滤波窗口中心点像素对应的辅助数组值;行变换,以i行j列与i+1行j列为例,其思想是利用i‑1行像素对应的辅助数组值减去i‑1‑R行j列的像素灰度值,加上i+R行j列的像素灰度值;列变换,以i行j列与i行j+1列为例,其思想是利用已经求出的i行i列像素窗口内所有像素的灰度值之和加上i行j+R列像素对应的辅助数组值,减去i行j‑R‑1列像素对应的辅助数组值;至此,再进行简单的加法运算就可以快速的求出每个滤波窗口中心点像素的平均灰度值;该快速均值滤波运算的特点在于,算法执行的时间与滤波窗口N×N的尺寸无关,并大大优于3×3的均值滤波时间;5)采用快速均值滤波运算,用四步相移法对步骤4)得到的散斑相移条纹图进行解调获得位相结果为:<img file="dest_path_image030.GIF" wi="397" he="33" /> 由于atan()函数求解耗时较长,具体实施方法:考虑到上述公式中分子分母的值域范围,可以事先订制一个查找表;这样在解位相时,就可以通过查表操作实现位相求解的快速运算。6)在测量过程中不断重复步骤3)到步骤5)的过程,即可实现实时位相检测。 |