一 些有代表性的相位解包裹算法

Itoh首先给出了传统解包裹算法的数学描述!。传统的相位解包裹操作是通过对空间相邻点相位值的比较来完成的。根据抽样定理,如果相邻采样点的相位差不超过z,则对应的相位解包裹处理是非常简单的,理论上以某点为起始点沿某一路径对包裹相位的差分积分就可以恢复真实相位。但是由于采样不足,阴影条纹断裂,频谱泄漏等原因,相位解包裹常常会产生展开错误。图2-2展示了一幅图像的包裹相位分布[41,图2-2(a)不含噪声,图2-2(b)含有噪声,用灰度从黑到白表示相位值从-z到π。假使已知尸点的相位值p,,其它的点如图 2-2(a)中的口点可以通过计算经过任意路径的2x阶跃来进行相位解包裹。在图2-2(a)中,沿任何路径A,B都可以得到p。=p,+6n。而如图2-2(b)所示,在中间部分相位阶跃产生噪声点(图中 1、2 之间),于是沿路径A解包赛得po=p,+6π,沿路径B解包裹得po=p,+4x,而且这种错误还会继续向后续过程传播

为 了消除依赖路径方 法 引起的误 差扩展 , 避 开相位噪声点, 获取可 靠的相位 数据 ,许 多学者又研 究 了与路径 无 关的算法 。 相位解包裹算法有很多, 表 2 一 3 选 择 了一 些有代表性的加 以评 述 。 

  1. 条纹级数法(Fringe Counting):这是一种常用的方法,通过判断相位阶跃,全场遍历就可以求得相位的分布。如果存在噪声,这种方法就会产生错误,并可能向后续相位展开过程传播。

  2. 细胞自动算法(Cellular Automata Method):这种方法首先利用寻找噪声点的四点法标定噪声点,然后对每一行、每一列按一定的规则进行迭代,最后求得全场相位。对于相位截断线尺度极小或者孤立噪声点的情况效果较好,但依赖于对噪声点、相位截断线位置的标定。

  3. 区域展开法(Phase Unwrapping by Region):将相位图分成不包含截断线的区域,先对每一区域相位解包裹,后对区域边界进行比较以确定区域之间是否存在阶跃。划分区域的原则是比较相邻的包裹相位差是否在某一限定阈值内。

  4. 最小二乘法(Minimum Two Norm):利用数学上最小二乘概念,计算期望相位图与真实相位图的相位梯度偏差的最小二乘并获取真实相位的逼近。常见的如最小二乘算法和最小零范数。

  5. 基于小数重合法的算法:这类算法通过投射一系列不同频率的条纹图像到物体表面,提高了相位解包裹操作的可靠性。

  6. 基于双频条纹投射的算法:这种算法认为每一采样点的相位是时间的函数,相位解包裹是沿着时间轴进行,而不是传统的依赖路径的空间相位解包裹算法。

  7. 基于序列条纹投射的算法(多幅周期性变化的相位图沿时间轴相位展开):这些算法的共同点是采用了变频条纹投射技术,认为每一采样点的相位是时间的函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484388.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

到底什么是CIDR(无类域间路由)?

【摘要】 CIDR(无类域间路由)是一种用于对互联网IP地址进行聚合和分配的技术。它通过改变IP地址的分配方式,有效地解决了IPv4地址空间不足的问题。本文将详细介绍CIDR的原理、使用方法以及它对互联网的影响,还会针对CIDR出三道例题…

Vue3实现页面顶部进度条

Vue3页面增加进度条 新建进度条组件新建bar.ts导航守卫中使用 Vue3项目使用导航守卫给页面增加进度条 新建进度条组件 loadingBar.vue <template><div class"wraps"><div ref"bar" class"bar"></div></div> <…

Java学习-21 网络编程

什么是网络编程&#xff1f; 可以让设备中的程序与网络上其他设备中的程序进行数据交互&#xff08;实现网络通信的&#xff09; 基本的通信架构 基本的通信架构有2种形式: CS架构(Client客户端/Server服务端) BS架构(Browser浏览器/Server服务端)。 网络通信三要素 IP …

redis源码阶段性完成

这个真的是耗费我很长的时间 一个是太忙了&#xff0c;一个是内容确实太多了 断断续续的&#xff0c;终于基本完成了&#xff0c;但也只限于基本哈 在这期间也阅读了相关书籍 其实书籍讲的都很好&#xff0c;讲了大体思路 但是&#xff0c;到具体实现细节就复杂的多了 因…

跟着pink老师前端入门教程(JavaScript)-day05

六、语句 &#xff08;一&#xff09;表达式和语句 1、表达式 表达式是可以被求值的代码&#xff0c;JavaScript 引擎会将其计算出一个结果。 2、语句 语句是一段可以执行的代码。 比如&#xff1a; prompt() 可以弹出一个输入框&#xff0c;还有 if语句 for 循环语句等…

常见消息中间件

ActiveMQ 我们先看ActiveMQ。其实一般早些的项目需要引入消息中间件&#xff0c;都是使用的这个MQ&#xff0c;但是现在用的确实不多了&#xff0c;说白了就是有些过时了。我们去它的官网看一看&#xff0c;你会发现官网已经不活跃了&#xff0c;好久才会更新一次。 它的单机吞…

Stable Diffusion 绘画入门教程(webui)-ControlNet(深度Depth)

上篇文章介绍了线稿约束&#xff0c;这篇文章介绍下深度Depth 文章目录 一、选大模型二、写提示词三、基础参数设置四、启用ControlNet 顾名思义&#xff0c;就是把原图预处理为深度图&#xff0c;而深度图可以区分出图像中各元素的远近关系&#xff0c;那么啥事深度图&#xf…

达梦数据库--DM8两节点DSC集群安装部署(达梦数据库DSC集群搭建)

1 前期规划 系统规划 本地磁盘规划 共享存储规划 DMDSC 集群为了实现多实例同时访问和修改数据&#xff0c;需要数据文件、控制文件和日志文件都放到共享存储上。DM 支持两种共享存储&#xff0c;裸设备和 DMASM&#xff0c;裸设备是未经过格式化的特殊字符设备&#xff0c;…

51单片机学习(3)-----独立按键控制LED的亮灭状态

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步了。 目录 一. 器件介绍及实验原理 1.独立按键 &#xff08;1&#xff09;独…

代码随想录算法训练营第二十五天|Leetcode216 组合总和III、Leetcode17 电话号码的字母组合

代码随想录算法训练营第二十五天|Leetcode216 组合总和III、Leetcode17 电话号码的字母组合 ● Leetcode216.组合总和III● 解题思路● 代码实现 ● Leetcode17 电话号码的字母组合● 解题思路● 代码实现 ● Leetcode216.组合总和III 题目链接&#xff1a;Leetcode216.组合总和…

【k近邻】Kd树的构造与最近邻搜索算法

【k近邻】 K-Nearest Neighbors算法原理及流程 【k近邻】 K-Nearest Neighbors算法距离度量选择与数据维度归一化 【k近邻】 K-Nearest Neighbors算法k值的选择 【k近邻】 Kd树的构造与最近邻搜索算法 【k近邻】 Kd树构造与最近邻搜索示例 Kd树是一种对K&#xff08;与k近邻的k…

ChatGPT学习第二周

&#x1f4d6; 学习目标 自然语言处理&#xff08;NLP&#xff09;简介 探索自然语言处理的基本原理&#xff0c;理解其在ChatGPT中的应用。 GPT模型概述 了解生成式预训练变换器&#xff08;GPT&#xff09;的工作原理。 ✍️ 学习活动 学习资料 《走进AI(三) | 解构 NLP…