基于可靠度排序的非连续路径解包裹算法实例分析
一、理论分析
对于大多数需要处理的包裏相位图来说包含大量噪声,有时存在不连续处,针对此情况,Miguel提出了一种基于可靠度排序非连续路径的快速二维解包裹算法,该算法是路径跟踪算法中质量引导路径方法中的一种。该算法可以有效地抑制噪声,准确地进行相位解包裹。它与传统算法不同点是其引入了可靠度函数以及非连续路径作为展开相位的依据。
基于可靠度排序的非连续路径解包裹算法分为两部分,一部分是选择可靠度函数,另一部分是设计解包裹的路径。
1.1 可靠度函数
不同的质量引导路径解包裹算法利用不同的标准来确定一个像素点的可靠度,而这个标准通常是梯度或者是待求可靠度的像素与其邻域像素之间的差分。可靠度高的点首先被解包裹。
若直接在可靠度函数中使用梯度绝对值,会带来很多问题,造成可靠度测量的不恰当,而二阶差分可以测量相位凹凸程度,对相位图中可能存在的非连续处进行更好地探测。因此该算法使用二阶差分作为可靠度计算依据。
图 1 图像二阶差分计算
对图像中每一个像素点的二阶差分值的计算介绍如下,见图1。
为了计算图像中每个像素点的二阶差分值,需要考虑其正交邻域和水平邻域,也就是3*3的窗口。对于像素(i, j),(i, j-1),(i, j+1),(i-1, j)和(i+1, j)是其正交邻域像素,而(i-1, j-1),(i+1, j-1),(i-1, j+1)和(i+1, j+1)是其对角邻域像素。像素(i, j)的二阶差分D可由下式计算
其中,
γ((.))是对两个连续像素间简单的去除2π跳变的解包裹操作。对于一幅图像,除了边界处,所有像素的二阶差分值都可以计算得出(边界处像素的二阶差分值为无限大,在解包裹的最后进行)。而可靠度R定义为二阶差分值的倒数,即
因此对于一个像素来说,其二阶差分值越小,其可靠度越高。
1.2 解包裹路径
选择了二阶差分值的倒数作为可靠度值之后,还需要确定解包裹的路径,而确定路径,首先要有一个“边界”(edge)概念。“边界”是两个水平或垂直相连的像素的交叉点,每一个像素与它左、右、上、下相邻的像素都可以构成“边界”。图2表示一幅图片的一部分,其中每个像素的可靠度值已经标出数值“边界”的可靠度值等于构成它的两个像素的可靠度值之和,如图3所示。
图 2 像素可靠度值
图 3 “边界”的可靠度值
该算法解包裏路径不是由像素的可靠度值确定,而是由“边界”的可靠度值来定义。解包裹路径的定义很简单:具有高可靠度值的边界首先进行解包裹操作,即是把“边界”的可靠度值存储于矩阵中并进行排序之后再进行解包裹操作。
具体的操作步骤如下:
- 计算每个像素点的可靠度值R;
- 计算两相邻像素之间构成的“边界”的可靠度值(水平、垂直“边界”);
- 将所有“边界”按照可靠度值排序并存储于矩阵中待处理;
- 初始化,设置每个像素都不属于任何分组;
- 按照可靠度值排序的顺序,从可靠度值最大的“边界”开始循环,对构成“边界”的两个像素进行解包裹。
在解包裹过程中,需要分三种情况进行考虑:两个像素都未被解包裹。则把它们解包裹之后划归为一组;一个像素未被解包裹,另一个像素已经被解包裹(一个不属于任何一组,一个属于一个已解包裹组)。把未被解包裹的像素相对已解包裹的像素解包裹之后划归为已经解包裹的像素那一组;两个像素都已经被解包裹。如果这两个像素不属于同一组,则这两个组需要相互之间进行解包裹操作,将像素数少的一组相对于像素数多的一组进行解包裹操作,之后将两组划归为新的一组。
对5)的操作循环进行,直至所有的像素都被分组完毕,完成相位解包裹。
二、实验验证
2.1 仿真包裹相位图的相位解包裹
现有如下图所示的仿真包裹相位图:
图 4 仿真包裹相位图
基于可靠度排序非连续路径解包裹后的相位如下图所示:此过程大约用时1分钟。
图 5 解包裹相位
图 6 解包裹相位三维分布
2.2 实验包裹相位图的相位解包裹
现验证实际实验得到的包裹相位图,如下图所示:
图 7 实验得到的包裹相位图
采用可靠度排序的非连续路径解包裹算法大约需要执行20分钟,(根据个人电脑配置情况而不同),得到的解包裹相位如图8与图9所示。
图 8 解包裹相位(实际实验)
图 9 解包裹相位三维分布(实际实验)
三、资源获取
上述资源可从以下链接处获取:
https://download.csdn.net/download/qq_36584460/84667801
资源共包含以下内容:
1) phase_wrapped.mat (实验包裹相位数据)
2) unwrap_phase.m(子函数)
3) 基于可靠度排序的非连续路径解包裹算法-仿真包裹相位.m(仿真包裹相位分析函数)
4) 基于可靠度排序的非连续路径解包裹算法-仿真包裹相位-GBK格式.m(防注释乱码)
5) 基于可靠度排序的非连续路径解包裹算法-实验包裹相位.m(实验包裹相位分析函数)
6) 基于可靠度排序的非连续路径解包裹算法-实验包裹相位-GBK格式.m(防注释乱码)
四、其他解包裹算法
最小二乘法解包裹
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基于Glodstein枝切法相位解包裹算法
https://blog.csdn.net/qq_36584460/article/details/123442944
最后,如有任何疑问,可私信交流讨论~简单光学技术组可提供相关技术支持!
基于可靠度排序的非连续路径解包裹算法实例分析相关推荐
- 基于最小二乘、迭代和相位梯度校正的解包裹算法实例分析
一.原理 在多数相位解包裏算法中,都利用包裹相位梯度来计算解包裹相位.因此,相位梯度是相位解包裹中的一个重要的量.对于无噪声包裹相位来说,相位梯度与其真实相位的梯度是相同的.然而,噪声的存在将导致包裹 ...
- 基于加权最小二乘法的相位解包裹算法
一.背景 1994年,Ghiglia和Romero提出了加权最小二乘迭代解包裹算法,其基本原理是通过加权系数来构造基于泊松方程的迭代公式,该算法运算速度快,并且稳健,还可以通过加权系数去控制平滑误差的 ...
- 基于强度传输方程的相位解包裹算法
一.引言 2016年印度理工学院的 pandey等首次提出了基于强度传播方程的相位解包裹算法.该算法通过将包裹相位生成一个复数场,之后将其传播到一段距离.从而在复数场中紧密间隔的平面上模拟两个强度图像 ...
- 基于Flynn最小不连续相位解包裹算法
一.Flynn最小不连续算法原理 Fynn最小不连续算法是求解包裹相位的最小加权不连续解 在此定义一对毗邻像素的差分超过π时为不连续,毗邻像素可能是垂直方向或水平方向,定义差分的最邻近整数个2π为跳变 ...
- 基于多次傅里叶变换算法的快速相位解包裹算法研究
▒▒本文目录▒▒ 一.前言 二.快速相位解包裹算法实例分析 三.参考文献 一.前言 一般而言,干涉相位图中的相位值通常被限制在主值区间内,这种相位被称为缠绕相位.在缠绕相位图中,像素点的相位值在-π或 ...
- 最小二乘相位解包裹算法
前言 最小二乘解包裹算法通常是引入离散余弦变换(DCT)求解离散泊松方程,得到最小二乘意义上的相位展开解,最后得到真实连续的展开相位.该算法运算速度快,并且稳健. 最小二乘解包裹算法验证 首先模拟生成 ...
- 基于Glodstein枝切法相位解包裹算法
一.原理 1988年Goldstein提出了采用枝切法进行相位解包裹,他先根据提取的包裹相位信息,确定所有残差点的正负极性和位置分布,再将相邻的残差点连接起来,这样就绘制形成了枝切线,连线的过程中必须 ...
- 光学算法——经典枝切法(解包裹算法)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 注:本文所讲内容为本人硕士毕业论文:<基于干涉图像质量分析的激光干涉仪抗振技术研究> ...
- 基于H.264的RTP打包原理和FU-A分片实例分析
1. H.264码流结构 H.264编码规范从逻辑上划分为视频编码层(VCL)和网络提取层(NAL). VCL数据是由编码器直接输出的原始数据比特串(SODB),它表示图像被压缩后的编码比特流 ...
最新文章
- IOS开发学习记录第5天之C语言学习
- 玛塔机器人函数_玛塔创想编程机器人套装包含什么?
- 微信小程序购物车 数量加减功能
- TCP 的那些事儿(上)
- 使用Workbench导出为【sql】脚本文件
- 算法训练 字符串的展开
- Linux跨平台远程控制
- LeetCode 1617. 统计子树中城市之间最大距离(枚举所有可能+图的最大直径)
- Ripro主题X系列站长素材下载网站模板
- android m在哪下载地址,android m预览版SDK下载地址 android m预览版SDK下载网址
- 三菱fx3u通讯手册_使用USR-N510实现局域网内连接FX3U
- Bailian4148 生理周期【枚举+中国剩余定理】
- linux下查看pck设备,Linux中查看硬件信息超强命令sar
- 环境配置系列五Linux.Fedora9.配置
- 发动机关键零部件3D视觉引导自动上料和装配系统
- C语言阿拉伯数字转大写汉字,阿拉伯数字转大写汉字
- 多路温度采集控制系统(2)需求分析
- Flash Professional / 处理 Flash 文档 XFL(XML格式描述的CS5 FLA)
- 阿龙的学习笔记---哈希表与C++11中unordered_map学习笔记
- PAT甲级1020变体:已知二叉树层序+中序序列,求后序遍历序列
热门文章
- ASTMA709-HPS70W-T1钢板定轧,HPS70W力学性能,A709HPS100W-F1
- 黄圣池《你是我眼中的山川和海洋》
- ffmpeg配置问题:Couldn‘t find ffmpeg or avconv - defaulting to ffmpeg, but may not work
- 净水机市场成蓝海,机会在哪?
- R语言-图形-箱型图,直方图(barplot函数与hist函数)
- 如何在git bash中启用复制粘贴快捷键
- AXI4设计重点002_易出错的地址非对齐读操作
- Win10系统开启Linux Bash命令行
- 生日攻击及CTF例子
- 一篇文章总结大数据营销的几道坎!