本发明涉及虚拟现实技术领域,尤其是一种虚拟现实系统的相位解包裹算法。
背景技术:
随着计算机技术和虚拟现实技术的发展,虚拟现实技术及其应用受到越来越多的关注并得到很大的发展,特别是虚拟现实在三维形貌的测量和恢复方面的技术受到更多关注。虚拟现实技术具有测量方法简单、无接触以及分辨率高等优点,虚拟现实技术通过对干涉条纹的记录以及再现,获取物体形貌信息,物体尺寸在纳米级时,直接利用双波长光学解包裹技术可以获得物体的三维形貌,但是当被测物体的尺寸比较大时,需要对主值相位进行相位解包裹处理,才能得到物体真实相位。双波长光学解包裹技术对细胞级微小物体的形貌测量具有较大的优势,不需要进行解包裹运算就可以得到物体的三维形貌,但对宏观物体形貌测量时,需使用解包裹算法得到物体的真实相位信息,才能得到物体形貌信息。
技术实现要素:
本发明提出的一种虚拟现实系统的相位解包裹算法,具有较强的抗噪声和去边界能力。
本发明的技术方案是这样实现的:
一种虚拟现实系统的相位解包裹算法,该算法利用掩膜与傅里叶变换解包裹算法,将在傅里叶变换的相位解包裹算法的基础上,增加去除边界点的功能,同时也有减少噪声影响的作用,该方法包括以下步骤:
步骤1:选取边界点参数,选取两个参数分别为:边界判断参数、边界去除滤波器尺寸参数;
步骤2:根据边界点判断参数,得到边界点掩膜,假设,包裹相位是m×n矩阵,其中一个像素点(x0,y0)的x方向和y方向偏导为平方并取其较大值,同样地,对每一个包裹相位像素点进行处理,得到m×n大小的偏导平方矩阵ψ0(x,y),然后,对矩阵ψ0(x,y)归一化处理,得到矩阵ψ(x,y),如下式所示;
步骤3:获取边界点之后,根据给定尺寸的滤波器对边界区域进行滤波处理,在滤波器大小窗口判断是否有边界点,即判断矩阵M(x,y)中是否有“1”,由于傅里叶变换相位解包裹算法对非边界点的处理效果较好,如果存在边界点,将M(x,y)取反,取反之后“1”则表示非边界点,“0”表示边界点,取反之后的矩阵与傅里叶变换相位解包裹算法得到解包裹相位相乘,“1”像素点的值不变,“0”像素点的值由周围非边界点的值平均求得,替换“0”值;
步骤4:判断窗口内是否有边界点,如果有,继续执行步骤3;如果没有;扩大滤波窗口,直到没有边界点,即可得到没有边界点的解包裹相位θ(x,y)。本发明通过提供的一种虚拟现实系统的相位解包裹算法,其有益效果在于:将掩膜算法引进傅里叶变换解包裹算法,可以有效的去除解包裹相位中的边界点,同时减少噪声对解包裹相位图的影响。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的一种虚拟现实系统的相位解包裹算法,傅里叶变换相位解包裹算法与其他相位解包裹算法相比具有明显的优势。傅里叶变换解包裹算法在计算过程中不产生分支,也不寻求相位解包裹前后相位的微分的最小值,计算过程与路径无关,这些特点成就了该算法具有计算速度快、精度高等优点;但该算法在噪声抗干扰方面并不理想,特别在边界点去除上存在缺点。基于掩膜与傅里叶变换解包裹算法,将在傅里叶变换的相位解包裹算法的基础上,增加去除边界点的功能,同时也有减少噪声影响的作用,该方法包括以下步骤:
步骤1:选取边界点参数,选取两个参数分别为:边界判断参数、边界去除滤波器尺寸参数;
步骤2:根据边界点判断参数,得到边界点掩膜,假设,包裹相位是m×n矩阵,其中一个像素点(x0,y0)的x方向和y方向偏导为平方并取其较大值,同样地,对每一个包裹相位像素点进行处理,得到m×n大小的偏导平方矩阵ψ0(x,y),然后,对矩阵ψ0(x,y)归一化处理,得到矩阵ψ(x,y),如下式所示;
式中,1≤x≤n,1≤y≤n,当ψ(x,y)的值大于边界判断参数时,通过0-1转换,转换为“1”,小于或者等于边界判断参数的则为“0”,得到只含有“0”和“1”大小为m×n矩阵α(x,y)。
如果,仅根据偏导函数的值判断边界点,容易出现误判,即物体形貌变化也会出现偏导大于边界判断参数的情况,需要进一步判断边界点:
首先,生成3×3的全“1”矩阵,与矩阵α(x,y)卷积运算,如下式所示:
其次,将α(x,y)的值取反,与c(x,y)矩阵与运算,得到m×n大小的矩阵M(x,y);
最后,在M(x,y)中值为“1”的为边界点,“0”的区域不是边界点。
步骤3:获取边界点之后,根据给定尺寸的滤波器对边界区域进行滤波处理,在滤波器大小窗口判断是否有边界点,即判断矩阵M(x,y)中是否有“1”,由于傅里叶变换相位解包裹算法对非边界点的处理效果较好,如果存在边界点,将M(x,y)取反,取反之后“1”则表示非边界点,“0”表示边界点,取反之后的矩阵与傅里叶变换相位解包裹算法得到解包裹相位相乘,“1”像素点的值不变,“0”像素点的值由周围非边界点的值平均求得,替换“0”值;
步骤4:判断窗口内是否有边界点,如果有,继续执行步骤3;如果没有;扩大滤波窗口,直到没有边界点,即可得到没有边界点的解包裹相位θ(x,y)。
将掩膜算法引进傅里叶变换解包裹算法,可以有效的去除解包裹相位中的边界点,同时减少噪声对解包裹相位图的影响。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。