水下成像机理分析

news2025/7/9 4:31:17

一般情况下, 水下环境泛指浸入到人工水体 (如水库、人工湖等)或自然水体(如海洋、河流、湖 泊、含水层等)中的区域。在水下环境中所拍摄 的图像由于普遍受到光照、波长、水中悬浮颗粒物 等因素的影响,导致生成的水下图像出现模糊、退 化、偏色等现象,图像的品质相比于在空气介质中所拍摄的普通图像有着明显的下降。 因此,了解水下光学成像模型,并归纳总结影响水下成像的因素,对于各个相关领域的研究都有着重要意义。

1. 水下成像模型

根据 Jaffe-McGlamery 基于线性叠加以及水介质建模理论的综合研究, 一种经典的 Jaffe-McGlamery 水下光学成像模型被提出[16]。该模型的示意图如下1所示, 其中相机接收到的光可由 3 个分量组合表示:

在这里插入图片描述

  1. 直接分量, 即直接被拍摄物体反射并到达相机的光照分量;
  2. 前向散射分量,反射光偏离原来的传播轨迹后,又随机地被相机接收的光照分量;
  3. 后向散射分量, 光照在到达目标前被水介质中悬浮颗粒反射后进入相机的分量。

实践表明,水下图像通过上述3个分量进行线性叠加而获得.与空气介质存在本质上的不同。水介质的不均匀性与复杂性会导致光照在其中的传播路径会发生随机的改变,即光照散射:其中前向散射会导致获得的水下图像呈现模糊的现象;而后向散射会导致水下图像呈现低对比度以及雾化的效果,并掩盖水下场景中的很多细节,影响成像质量。

通常情况下,由于物体和摄像机距离较小,前向散射分量造成的影响可以被忽略。那么水下成像模型可因此简化为(包含直接分量和后向散射):
I ( x ) = J ( x ) t c ( x ) + B c ( 1 − t c ( x ) ) . I(x) = J(x)t_c(x) + B_c(1 - t_c(x)). I(x)=J(x)tc(x)+Bc(1tc(x)).
给定的公式是用于描述水下图像形成模型的一个表达式,其中包含了几个关键参数,每个参数都有其特定的物理意义:

  • I ( x ) I(x) I(x):表示观测到的原始图像(或称为退化图像),即在水下环境中实际捕捉到的图像。这个图像包含了由于光在水中传播而产生的各种衰减和散射效应。

  • J ( x ) J(x) J(x):代表理论上无任何衰减或散射影响的清晰图像。换句话说,这是假设没有水体干扰时理想情况下应该得到的图像。

  • J ( x ) t c ( x ) J(x)t_c(x) J(x)tc(x):表示直接分量,它是从场景点出发,直接到达相机传感器的光线贡献部分。这里的 t c ( x ) t_c(x) tc(x)就是所谓的场景透射率,它量化了光线从场景点到达观察者的过程中未被散射或吸收的比例 t c ( x ) t_c(x) tc(x)值越接近1,表明该点的光线受水介质的影响越小;越接近0,则表示受到的影响越大。

  • B c ( 1 − t c ( x ) ) B_c(1 - t_c(x)) Bc(1tc(x)):表示后向散射分量,指的是来自环境中的其他方向的光线(如环境光)被水体散射进入相机传感器的部分。 B c B_c Bc在这里表示水下环境光,也就是存在于水环境中的背景光强度。这部分光并非直接来源于感兴趣的目标,而是通过与水分子或其他悬浮颗粒相互作用后间接到达传感器,因此会对图像质量造成模糊等负面影响。

  • B c B_c Bc:水下环境光,指的是在水体中普遍存在的光强度。它可能来自于外部光源(如太阳光)在水中的散射、反射以及自身的发光源等。

  • t c ( x ) t_c(x) tc(x):场景透射率,如上所述,它是衡量光线从场景点到达观察者过程中保留了多少初始能量的指标。它取决于水体的光学性质(例如浑浊度)、距离以及波长等因素。

综上所述,该公式描述了水下图像的形成过程,包括直接从目标到观察者的光线传输和由环境光导致的散射效应。通过分析这些参数,可以更好地理解和恢复出原本的清晰图像。

除了散射外,水介质对光照的吸收也是造成 水下图像质量降低的重要因素之一。 水介质对光照的吸收效果与波长呈正相关,并随着水深的增加,吸收效果会更加明显。光在水中的衰减特性如下图所示,显然, 光在水中的衰减程度与波长相关,波长越长,其穿透能力越差,越容易被水吸收。 在水下环境中,红色光由于波长最长而会最先被水吸收,绿色光次之,而蓝色光波长最短,此蓝色光在水介质中也有着较强的传输能力。实验表明, 在清澈的水介质中,红色光在水深 5 m 时即会消失,其次是橙色光、黄色光和绿色光。绿色光在水深 30m处消失, 这也是大部分水下图像呈现蓝色蓝绿色调的原因。

在这里插入图片描述
光照的吸收与散射现象是导致水下光照衰减 的主要原因,前者直接造成光能损失,而后者会导致电磁能方向的改变。根据著名的朗伯-比尔经验定律可知,光照强度的衰减程度取决于光通过介质本身所具有的性质,而在水介质情况下, 光照强度将直接以指数形式进行衰减,这将对水下成像的对比度以及清晰度产生极大影响。实验表明,由于光照衰减的存在,在清澈水介质中的能见度仅有 20 m 左右,而在浑浊的水介质中,能见度仅能达到5m左右。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM类加载器详解

文章目录 1.类与类加载器2.类加载器加载规则3.JVM 中内置的三个重要类加载器为什么 获取到 ClassLoader 为null就是 BootstrapClassLoader 加载的呢? 4.自定义类加载器什么时候需要自定义类加载器代码示例 5.双亲委派模式类与类加载器双亲委派模型双亲委派模型的执行…

从一到无穷大 #44:AWS Glue: Data integration + Catalog

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言Glue的历史,设计原则与挑战Serverless ETL 功能设计Glue StudioGlue …

实战打靶集锦-35-GitRoot

文章目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查5. 系统提权6. 写在最后 靶机地址:https://download.vulnhub.com/gitroot/GitRoot.ova 1. 主机发现 目前只知道目标靶机在192.168.56.xx网段,通过如下的命令,看看这个网段上在线的主机…

英语口语 -- 常用 1368 词汇

英语口语 -- 常用 1368 词汇 介绍常用单词List1 (96 个)时间类气候类自然类植物类动物类昆虫类其他生物地点类 List2 (95 个)机构类声音类食品类餐饮类蔬菜类水果类食材类饮料类营养类疾病类房屋类家具类服装类首饰类化妆品类 Lis…

SpringBoot+Vue 中 WebSocket 的使用

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它使得客户端和服务器之间可以进行实时数据传输,打破了传统 HTTP 协议请求 - 响应模式的限制。 下面我会展示在 SpringBoot Vue 中,使用WebSocket进行前后端通信。 后端 1、引入 j…

关于依赖注入框架VContainer DIIOC 的学习记录

文章目录 前言一、VContainer核心概念1.DI(Dependency Injection(依赖注入))2.scope(域,作用域) 二、练习例子1.Hello,World!步骤一,编写一个底类。HelloWorldService步骤二,编写使用低类的类。GamePresenter步骤三&am…

Qt常用控件第一部分

1.控件概述 Widget 是 Qt 中的核⼼概念. 英⽂原义是 "⼩部件", 我们此处也把它翻译为 "控件" . 控件是构成⼀个图形化界⾯的基本要素. 像上述⽰例中的, 按钮, 列表视图, 树形视图, 单⾏输⼊框, 多⾏输⼊框, 滚动条, 下拉框等, 都可以称为 "控件"…

docker存储卷及dockers容器源码部署httpd

1. COW机制 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。 如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件…

JMeter接口自动化发包与示例

前言 JMeter接口自动化发包与示例 近期需要完成对于接口的测试,于是了解并简单做了个测试示例,看了看这款江湖上声名远播的强大的软件-Jmeter靠不靠谱。 官网:Apache JMeter - Apache JMeter™ 1简介 Apache-Jmeter是一个使用java语言编写且开源&…

INFINI Console 极限控制台密码忘记了,如何重置?

在使用 INFINI Console(极限控制台)时,可能会遇到忘记密码的情况,这对于管理员来说是一个常见但棘手的问题。 本文将详细介绍如何处理 INFINI Console 密码忘记的情况,并提供两种可能的解决方案,帮助您快速…

汇编学习之《jcc指令》

JCC(Jump on Condition Code)指的是条件跳转指令,c中的就是if-else, while, for 等分支循环条件判断的逻辑。它包括很多指令集,各自都不太一样,接下来我尽量将每一个指令的c 源码和汇编代码结合起来看,加深…

从零构建大语言模型全栈开发指南:第四部分:工程实践与部署-4.3.3低代码开发:快速构建行业应用(电商推荐与金融风控案例)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 从零构建大语言模型全栈开发指南-第四部分:工程实践与部署4.3.3 低代码开发:快速构建行业应用(电商推荐与金融风控案例)1. 低代码与AI结合的核心价值2. 电商推荐系统案例2.1 技术架构与实现2.2 性能…

基于vue框架的智能服务旅游管理系统54kd3(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能:用户,景点信息,门票预订,酒店客房,客房预订,旅游意向,推荐景点,景点分类 开题报告内容 基于Vue框架的智能服务旅游管理系统开题报告 一、研究背景与意义 1.1 行业现状与挑战 传统系统局限性:当前旅游管理系统普遍存在信息…

用Python实现TCP代理

依旧是Python黑帽子这本书 先附上代码,我在原书代码上加了注释,更好理解 import sys import socket import threading#生成可打印字符映射 HEX_FILTER.join([(len(repr(chr(i)))3) and chr(i) or . for i in range(256)])#接收bytes或string类型的输入…

MySQL的进阶语法7(索引-B+Tree 、Hash、聚集索引 、二级索引(回表查询)、索引的使用及设计原则

目录 一、索引概述 1.1 基本介绍 1.2 基本演示 1.3 特点及优势 二、索引结构 2.1 概述 2.2 二叉树 2.3 B-Tree 2.4 BTree 2.5 Hash 2.5.1 结构 2.5.2 特点 2.5.3 存储引擎支持 三、索引的分类 3.1 索引分类 3.2 聚集索引和二级索引 3.2.1 聚集索引和二级…

【CSS3】04-标准流 + 浮动 + flex布局

本文介绍浮动与flex布局。 目录 1. 标准流 2. 浮动 2.1 基本使用 特点 脱标 2.2 清除浮动 2.2.1 额外标签法 2.2.2 单伪元素法 2.2.3 双伪元素法(推荐) 2.2.4 overflow(最简单) 3. flex布局 3.1 组成 3.2 主轴与侧轴对齐方式 3.2.1 主轴 3.2.2 侧轴 3.3 修改主…

论坛系统的测试

项目背景 论坛系统采用前后端分离的方式来实现,同时使用数据库 来处理相关的数据,同时将其部署到服务器上。前端主要有7个页面组成:登录页,列表页,论坛详情页,编辑页,个人信息页,我…

宠物店小程序怎么做?助力实体店实现营销突破

宠物店小程序怎么做?助力实体店实现营销突破 ——一个宠物店老板的“真香”实战分享 ​一、行业现状:线下宠物店的“流量焦虑”​ 作为开了3年宠物店的“铲屎官供应商”,这两年明显感觉生意难做了:某宝9.9包邮的狗粮、某团“满…

《Mycat核心技术》第21章:高可用负载均衡集群的实现(HAProxy + Keepalived + Mycat)

作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀&#xff0c…

深度学习Note.5(机器学习.6)

1.Runner类 一个任务应用机器学习方法流程: 数据集构建 模型构建 损失函数定义 优化器 模型训练 模型评价 模型预测 所以根据以上,我们把机器学习模型基本要素封装成一个Runner类(加上模型保存、模型加载等功能。) Runne…