相位解包裹

 相位解包裹基本算法

        相位解包裹实际上就是求解出k值的过程。相位解包裹里有一个要求,就是物体的落差不能太大,若太大,就不能真实测量出物体的高度,究竟多大算大?这个与投影的条纹宽度有关。但是这个并不在我们的讨论中,这里忽略落差大造成的影响。

        具体是通过不断求解后一点与前一个点像素的相位差来求k值。

如果内,则保存,继续比较下一位置的相位;

如果大于 ,则点的相位减 ;再继续求差值,直到内;

如果小于 ,则点的相位加;再继续求差值,直到内。

        通过这个算法,理论上我们就可以将每个点的实际相位求解出来。实际情况中,像素是二维分布的,那就意味着有不同解包裹的路径。由于每个像素都有着一个确定深度,对应着一个确定的相位值,按理来说解包结果与路径的选取无关。但是由于实验中存在误差,每个像素点的相位值并不准确,这就导致我们以不同路径解包裹时,解出来的结果会存在不一样的地方。为了得到从任意方向解都相同的结果,我们可以直接找出误差的的点或者消除误差。

残差点

        我们把由于误差造成相位值错误的点称为残差点。我们举例说明残差点的存在:

比如对于这一未解包的相位矩阵    

当我们先横向解包裹再竖向解包裹后

 当我们先竖向解包裹再横向解包裹后

         很容易发现这两种不同的解包裹方法得到的相位图并不一样,这就是由于残差点的存在造成的。

        如何判断残差点?具体判断是通过将相邻四个像素点的差值相加,看其是否为0,为0则不是残差点,为1或-1则是残差点。如下图:

其中:

非残差点:

残差点:

         我们通过相位解包裹的基本算法可以知道,解包裹的过程具有累加性,若解包裹路径上有一个残差点,都会对整个图的相位信息造成影响。所以必须解决这些残差点的影响。

        根据对残差点不同的处理方法,可以分出不同的相位解包裹方法。其中主要有两种:一种是基于路径跟踪的相位解包裹方法(先绕过残差点解包裹,然后再将残差点分类处理的一种方法),另一种是最小二乘法的相位解包裹方法(通过最小二乘法将局部误差对整体的影响降低到最小的方法)。

         接下来我再一一介绍这两种方法。

基于路径跟踪的相位解包裹方法

        此方法中的代表方法是枝切法,具体可以参考这一篇文献(讲得非常详细)。(152条消息) 光学算法——经典枝切法(解包裹算法)_翟天保的博客-CSDN博客_解包裹算法

        主要思想是:

先判断出残差点并分出极性,

然后再以其中一个残差点为中心向外搜索另一残差点并连接,若极性相反,则结束搜索;若极性相同,则扩大搜索范围,直到极性相消或者扩大到最大的范围,结束搜索,再对下一个没有连接的残差点重复操作,直到覆盖整个图,将残差点都连接完毕为止。

然后再对非枝切线上的点进行解包裹,解完包裹后,再以这些点为起点,对枝切线上的点进行解包裹,直到解包完所有的像素点(当通过两个极性相反的残差点时,解包裹的误差会抵消,从而能将误差不推向之后的每一个像素点)。

最小二乘法的相位解包裹方法

主要思想是使缠绕函数的离散偏微分和解缠后函数的离散偏微分的差值达到极小,不考虑相邻像元上相位的积分,只通过使缠绕相位的梯度与真实相位的梯度差的平方最小来实现解缠。(具体算法可以参考这一篇文献里面的部分内容)

(152条消息) 可以参考以下里面关于最小二乘法解包裹的内容-其它文档类资源-CSDN文库

关于枝切法的matlab代码,可以参考一下这位前辈的(非常靠谱)

(152条消息) matlab枝切法解包裹_枝切法-图像处理文档类资源-CSDN文库

  • 9
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值