一、原理
1988年Goldstein提出了采用枝切法进行相位解包裹,他先根据提取的包裹相位信息,确定所有残差点的正负极性和位置分布,再将相邻的残差点连接起来,这样就绘制形成了枝切线,连线的过程中必须满足枝切线上残差点的正负极性正好互相抵消,即枝切线上的“电荷”达到平衡,这样就保证了所选取的积分路径(即枝切线)都是环绕相互抵消的正负残差点进行积分。在设置好枝切线后,就要对包裹图中的所有像元做逐行、逐列解包裹操作,从而得到真实相位信息。详细步骤如下:
第一步:找出残差点。
第二步:绘制枝切线。在整幅包裹图内按照逐行逐列的方式计算所有的残差点,一旦计算得到第一个残差点时,就把这个残差点作为中心,建立一个3×3的闭环区域,之后再通过计算该区域所有点来确定是否还有残差点,如果该区域内计算得到其他的残差点,就把此残差点和中心残差点相连。若这两个残差点极性不同,就可以改枝切线上的“电荷” 彼此抵消,处于平衡状态,则此次枝切线绘制完成,接下来再按照上面的步骤计算新的残差点,建立新的中心点来绘制枝切线;若这两个残差点极性一样,即同正或同负,则此枝切线上的正负“电荷” 不能相互抵消,没有处于平衡状态,这时就要把该闭环区域的中心点换成第二个残差点,再继续计算。在继续计算绘制枝切线时,若计算得到的残差点同时也被其他枝切线连接,此时仍要连接这个残差点,不过在计算电荷时新的枝切线不计此点电荷;若计算得到的残差点是单独的没被其他枝切线连接,就要连接这个残差点并计算此点电荷。若在3×3的闭环区域内计算出了所有残差点但是枝切线上电荷未处于平衡状态,就要扩大计算区域,同时把枝切线的初始点设置我中心点继续上面的步骤。假如计算区域抵达包裹图边缘,此时把中心点和包裹图边缘连接来平衡电荷,截断积分路径。
第三步:根据积分路径解包裹。枝切线设置完成后,只需绕开所有枝切线对包裹相位图进行逐行逐列积分即可获得真实的相位图。
二、实验验证
2.1 仿真包裹相位图的相位解包裹
首先,通过仿真得到一幅包裹相位图,如下图所示:
对其采用Glodstein算法进行解包裹,得到的结果如下:
运行程序时,需要选择一个已知真实相位参考点,具体操作如下动图演示:
2.2 实验包裹相位图的相位解包裹
现验证实际实验得到的包裹相位图,如下图所示:
根据原理中的第一步,求解得到的相位残差点如下图所示:
对于实际实验得到的含有包裹相位图,在绘制枝切线时,大约需要花120秒,结果如下图所示:
三、资源获取
上述资源可从以下链接处获取:
https://download.csdn.net/download/qq_36584460/84532899
资源共包含以下内容:
1) BranchCuts.m
2) FloodFill.m
3) PhaseResidues.m
4) 基于Goldstein相位解包裹算法-仿真包裹相位.m(实例分析)
5) 基于Goldstein相位解包裹算法-仿真包裹相位-GBK格式.m(实例分析,防注释乱码格式)
6) 基于Goldstein相位解包裹算法-实验包裹相位.m(实验包裹相位分析)
7) 基于Goldstein相位解包裹算法-实验包裹相位-GBK格式.m(实验包裹相位分析-防中文注释乱码格式)
8) phase_wrapped.mat (实验包裹相位数据)
9) 操作流程演示GIF.gif
四、其他解包裹算法
此外,其他解包裹算法可参考
-
最小二乘法解包裹
https://blog.csdn.net/qq_36584460/article/details/122682867 -
基于快速质量图导向法的相位解包裹
https://blog.csdn.net/qq_36584460/article/details/122690728 -
基于最小二乘、迭代和相位梯度校正的解包裹算法
https://blog.csdn.net/qq_36584460/article/details/123410789
最后,如有任何疑问,可私信交流讨论~简单光学技术组可提供相关技术支持!