基于博奇编码的计算全息图及再现研究

2023-10-28 06:40

本文主要是介绍基于博奇编码的计算全息图及再现研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、引言

全息技术作为一种新的成像技术近年来得到迅速的发展,计算机制全息图不需要实物的存在,同时还能通过计算机实现像的再现。计算全息图主要包括迂回位相型计算全息图和修正离轴参考光计算全息图,这两类全息图由不同的编码方式得到。前者直接编码光波的复振幅,用透明孔的大小和位置分别记录振幅和相位,透过率非0即1;后者通过计算机加偏置分量使复振幅变为非复函数, 用灰度标志透过率大小。通过对比这两种方法,可以看出它们各自的特点和优势,还可以进一步优化精简程序,提高程序运行速度和再现像的质量 [1]

二、博奇编码原理

对于当前的显示装置,其输入只能是非负实值。然而,计算全息面记录的光场分布为存在振幅和相位信息的复值函数,需要把复值函数进行转换编码。常用的编码技术有迂回相位型编码和修正离轴型编码,后者如博奇编码 [2]

博奇编码是通过对全息面光波复振幅中的振幅信息进行编码。假设记录介质平面的物光波与平面参考光波分别为:

在这里插入图片描述
物光与参考光振幅分别用A(x, y)、R表示;相位分别用jφ(x, y)、j2παx表示,其中α=sinθ/λ,表示参考光的空间频率。

因此记录平面的光强分布由物光与参考光干涉得到:

在这里插入图片描述
可以看出在这里插入图片描述 为零级衍射光信息的偏置分量,这种偏置分量使得 h(x, y)为正实值函数,不仅与物体再现信息无关,而且占用信道,提高了带宽;在这里插入图片描述 则提供了物体全部的信息。由此,可以通过其他形式的偏置分量降低带宽,减少抽样点,制作具有高质量再现像的全息图。

博奇编码通过引入常数项代替原来的偏置分量,对物光波A(x, y)归一化得到 在这里插入图片描述,并使R=1,从而构成新的全息函数:

在这里插入图片描述

三、Matlab再现

本博文对博奇编码计算全息图进行了复现,图1为博奇编码后的全息图及再现图,图(a)为分辨率为256×256的原始图,图(b)为博奇编码的全息图,图©为再现图。博奇编码只对振幅进行编码,有效减少了空间带宽积,能得到很好的重建结果。

在这里插入图片描述

图1 基于博奇编码的全息图及再现图 (a) 原始图 (b) 全息图 (c) 再现图

四、全息再现实验系统

将各编码好的计算全息图或相息图加载到如图2所示的基于相位型液晶空间光调制器的全息再现系统,即可获得再现像。

在这里插入图片描述

图2 三维物场全息光电再现实验系统[3]

五、参考文献

[1] 尹杰茜, 黄水平. 迂回位相型计算全息图和修正离轴参考光计算全息图的对比讨论[J]. 大学物理实验, 2015, 28(02): 6-10.
[2] 王冰洋. 多视投影计算全息图生成方法研究[D]: 桂林电子科技大学, 2019.
[3] 郑华东, 代林茂, 王涛, et al. 三维物场多重分数傅里叶变换全息图光电再现实验研究[J]. 激光与光电子学进展, 2011, 48(02): 22-27.

六、Matlab程序开发与实验指导

博主在读博士期间开展过全息三维显示相关实验,相关matlab程序开发、实验指导,请私信博主。


⭐️◎⭐️◎⭐️◎⭐️ · · · **博 主 简 介** · · · ⭐️◎⭐️◎⭐️◎⭐️

▁▂▃▅▆▇ 博士研究生生 ,研究方向主要涉及定量相位成像领域,具体包括干涉相位成像技术(如**全息干涉☑**、散斑干涉☑等)、非干涉法相位成像技术(如波前传感技术☑相位恢复技术☑)、此外,还对各种相位解包裹算法☑相干噪声去除算法☑等开展过深入的研究。


这篇关于基于博奇编码的计算全息图及再现研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/291391

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

VSCode中C/C++编码乱码问题的两种解决方法

《VSCode中C/C++编码乱码问题的两种解决方法》在中国地区,Windows系统中的cmd和PowerShell默认编码是GBK,但VSCode默认使用UTF-8编码,这种编码不一致会导致在VSC... 目录问题方法一:通过 Code Runner 插件调整编码配置步骤方法二:在 PowerShell

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相