(数字图像处理MATLAB+Python)第五章图像增强-第六节:其他图像增强技术

news2024/9/22 11:36:15

文章目录

  • 一:基于对数图像处理模型的图像增强
    • (1)对数图像处理模型(LIP)
    • (2)基于对数图像处理模型的增强
  • 二:图像去雾增强
    • (1)图像去雾模型
    • (2)基于暗原色先验的去雾方法
    • (3)基于暗原色先验的低照度图像增强

一:基于对数图像处理模型的图像增强

基于对数图像处理模型的图像增强:是一种图像处理技术,旨在改善图像的质量和可视性。该方法基于对数变换,通过将图像转换为对数域,并对其进行处理来增强图像的对比度和亮度。在对数图像处理模型中,图像被看作是在一个对数域中的值的分布。通过对数变换,原始图像中的低灰度值被压缩到较小的范围内,而高灰度值则被拉伸到更广的范围内。这样可以增强图像的对比度和细节,并使暗部细节更加明显

(1)对数图像处理模型(LIP)

对数图像处理模型:基本原理是将原始图像的像素值通过对数变换映射到对数域,然后在对数域中对图像进行处理,最后再将处理后的图像通过指数变换映射回原始像素值

设原始图像为 f ( x , y ) f(x,y) f(x,y),对数变换为 g ( x , y ) = l o g ( 1 + f ( x , y ) ) g(x,y)=log(1+f(x,y)) g(x,y)=log(1+f(x,y)),指数变换为 h ( x , y ) = e x p ( g ( x , y ) ) − 1 h(x,y)=exp(g(x,y))-1 h(x,y)=exp(g(x,y))1,则对数图像处理模型可表示为

h ( x , y ) = e x p ( l o g ( 1 + f ( x , y ) ) ) − 1 h(x,y)=exp(log(1+f(x,y)))−1 h(x,y)=exp(log(1+f(x,y)))1

对数变换将像素值映射到对数域,并将低灰度值压缩到较小的范围内,高灰度值拉伸到更广的范围内,增强了图像的对比度和细节。处理后,指数变换将像素值从对数域映射回原始像素值,得到处理后的图像

LIP基础向量运算

  • 对数加法运算 f 1 ( x , y ) ⊕ f 2 ( x , y ) = f 1 ( x , y ) + f 2 ( x , y ) − f 1 ( x , y ) ⋅ f 2 ( x , y ) M f_{1}(x, y) \oplus f_{2}(x, y)=f_{1}(x, y)+f_{2}(x, y)-\frac{f_{1}(x, y) \cdot f_{2}(x, y)}{M} f1(x,y)f2(x,y)=f1(x,y)+f2(x,y)Mf1(x,y)f2(x,y)
  • 对数乘法运算 λ ⊗ f 1 ( x , y ) = M − M ( 1 − f 1 ( x , y ) M ) λ \lambda \otimes f_{1}(x, y)=M-M\left(1-\frac{f_{1}(x, y)}{M}\right)^{\lambda} λf1(x,y)=MM(1Mf1(x,y))λ
  • 对数减法运算 f 1 ( x , y ) Θ f 2 ( x , y ) = M ⋅ f 1 ( x , y ) − f 2 ( x , y ) M − f 2 ( x , y ) f_{1}(x, y) \Theta f_{2}(x, y)=M \cdot \frac{f_{1}(x, y)-f_{2}(x, y)}{M-f_{2}(x, y)} f1(x,y)Θf2(x,y)=MMf2(x,y)f1(x,y)f2(x,y)

LIP基本同态函数

  • 正变换 φ ( f ) = − M ⋅ ln ⁡ ( 1 − f ( x , y ) M ) \varphi(f)=-M \cdot \ln \left(1-\frac{f(x, y)}{M}\right) φ(f)=Mln(1Mf(x,y))
  • 反变换 φ − 1 ( f ) = M ⋅ ( 1 − e ( − f ( x , y ) M ) ) \varphi^{-1}(f)=M \cdot\left(1-e^{\left(\frac{-f(x, y)}{M}\right)}\right) φ1(f)=M(1e(Mf(x,y)))

(2)基于对数图像处理模型的增强

**基于对数图像处理模型的增强:如下

  • f ( x , y ) f(x,y) f(x,y)是原图的灰度色调函数
  • f ′ ( x , y ) f^{\prime}(x,y) f(x,y)是增强后图像的灰度色调函数
  • A ( x , y ) A(x,y) A(x,y) n × n n×n n×n邻域的灰度色调函数的平均值
  • α \alpha α用于调整对比度
  • β \beta β用于调整锐化效果

f ′ ( x , y ) = α ⊗ A ( x , y ) ⊕ β [ f ( x , y ) Θ A ( x , y ) ] f^{\prime}(x, y)=\alpha \otimes A(x, y) \oplus \beta[f(x, y) \Theta A(x, y)] f(x,y)=αA(x,y)β[f(x,y)ΘA(x,y)]
f ( x , y ) f(x,y) f(x,y)进行基本正态函数的正变换,且令

f ˉ ( x , y ) = 1 − f ( x , y ) M \bar{f}(x,y)=1-\frac{f(x,y)}{M} fˉ(x,y)=1Mf(x,y)

化简后公式如下

ln ⁡ f ˉ ′ ( x , y ) = α ⋅ ln ⁡ A ˉ ( x , y ) + β ⋅ [ ln ⁡ f ˉ ( x , y ) − ln ⁡ A ˉ ( x , y ) ] ln ⁡ A ˉ ( x , y ) = 1 n × n ∑ k = x − n 2 x + n 2 ∑ l = y − n 2 y + n 2 ln ⁡ f ˉ ( x , y ) \begin{array}{c}\ln \bar{f}^{\prime}(x, y)=\alpha \cdot \ln \bar{A}(x, y)+\beta \cdot[\ln \bar{f}(x, y)-\ln \bar{A}(x, y)] \\\ln \bar{A}(x, y)=\frac{1}{n \times n} \sum_{k=x-\frac{n}{2}}^{x+\frac{n}{2}} \sum_{l=y-\frac{n}{2}}^{y+\frac{n}{2}} \ln \bar{f}(x, y)\end{array} lnfˉ(x,y)=αlnAˉ(x,y)+β[lnfˉ(x,y)lnAˉ(x,y)]lnAˉ(x,y)=n×n1k=x2nx+2nl=y2ny+2nlnfˉ(x,y)

算法步骤如下

  • 求灰度色调函数
  • 进行基本正态函数的正变换
  • 求以点 ( x , y ) (x,y) (x,y) 中心的 n × n n×n n×n邻域的平均值
  • 进行基于对数图像处理模型的增强处理
  • 进行基本正态函数的反变换

二:图像去雾增强

图像去雾增强:图像去雾增强是指在图像中去除因雾霾、烟雾等自然因素导致的视觉模糊和降低图像对比度的现象,以提高图像的质量和可视性的过程。图像去雾增强的方法主要包括以下几种

  • 基于物理模型的方法:该方法基于天空、雾、场景等的物理模型,对图像进行建模,然后利用图像恢复技术推导出清晰图像。该方法具有较高的精度和可靠性,但需要大量的先验知识和计算资源
  • 基于暗通道先验的方法:该方法利用图像中低光强区域的信息,估计出图像中的全局大气光强度和雾的浓度,然后根据这些参数对图像进行去雾。该方法计算简单,且能够取得良好的去雾效果,但对于图像中存在颜色较为单一区域时,可能会出现伪影现象
  • 基于深度学习的方法:该方法利用深度学习网络,通过训练来学习图像中的特征和去雾模式,然后对图像进行去雾。该方法需要大量的训练数据,但具有较好的泛化能力和实时性
  • 基于统计方法的方法:该方法通过分析图像中的像素分布和灰度分布,对图像进行去雾增强。该方法不需要先验知识,计算简单,但对于复杂的场景和光照条件,效果可能不理想

图像去雾增强在自然图像处理、计算机视觉和遥感图像处理等领域具有广泛应用,例如无人机视觉、车载视觉等

(1)图像去雾模型

图像去雾模型:图像去雾模型基于物理模型,主要描述了雾霾天气下的图像成像过程,其数学表达式为

  • I ( x ) I(x) I(x)表示观测到的图像
  • J ( x ) J(x) J(x)表示场景反射率
  • t ( x ) t(x) t(x)表示雾的浓度
  • A A A表示全局大气光强度
    I ( x ) = J ( x ) t ( x ) + A ( 1 − t ( x ) ) I(x)=J(x)t(x)+A(1-t(x)) I(x)=J(x)t(x)+A(1t(x))

在这个模型中,假设场景的反射率 J ( x ) J(x) J(x) 和雾的浓度 t ( x ) t(x) t(x) 是空间不变的,即不同的位置处的雾的浓度相同,这个假设在实际应用中通常是成立的。因此,我们可以将 J ( x ) J(x) J(x) t ( x ) t(x) t(x) 看作常数。这个模型可以被理解为在场景反射率和雾的浓度的影响下,观测到的图像 I ( x ) I(x) I(x) 是由原始场景反射率 J ( x ) J(x) J(x) 经过一个衰减因子 t ( x ) t(x) t(x),再加上一部分来自大气光的贡献 ( 1 − t ( x ) ) A (1-t(x))A (1t(x))A 所组成
在这里插入图片描述

根据这个模型,我们可以通过估计大气光 A A A 和雾的浓度 t ( x ) t(x) t(x),以及对场景反射率 J ( x ) J(x) J(x) 的恢复,来实现对图像的去雾增强。在实际应用中,通常采用基于暗通道先验的方法来估计大气光和雾的浓度,然后通过先验约束和优化算法来对场景反射率进行恢复

(2)基于暗原色先验的去雾方法

基于暗原色先验的去雾方法:是一种计算机视觉中用于提高图像质量的技术。该方法的目标是从雾化图像中还原出原始场景的信息。设 I ( x , y ) I(x,y) I(x,y) 为输入的雾化图像在坐标 ( x , y ) (x,y) (x,y) 处的像素值, J ( x , y ) J(x,y) J(x,y) 为去雾后在坐标 ( x , y ) (x,y) (x,y) 处的像素值。假设场景中的真实颜色为 C ( x , y ) C(x,y) C(x,y),雾的遮挡因子为 t ( x , y ) t(x,y) t(x,y),则有以下的传输模型

  • A ( x , y ) A(x,y) A(x,y)表示大气光照

  • 假设在整个图像中 A ( x , y ) A(x,y) A(x,y) 是常量,不失一般性的假设 A ( x , y ) = A A(x,y) = A A(x,y)=A
    I ( x , y ) = t ( x , y ) C ( x , y ) + ( 1 − t ( x , y ) ) A ( x , y ) I(x,y)=t(x,y)C(x,y)+(1 - t(x,y))A(x,y) I(x,y)=t(x,y)C(x,y)+(1t(x,y))A(x,y)
    我们假设场景的颜色是具有暗原色先验的,即颜色的 RGB 通道中的最小值是一个固定的常数 α \alpha α,即

  • C r ( x , y ) C_r(x,y) Cr(x,y) C g ( x , y ) C_g(x,y) Cg(x,y) C b ( x , y ) C_b(x,y) Cb(x,y) 分别表示 C ( x , y ) C(x,y) C(x,y) 的红、绿、蓝三个通道的值

min ⁡ { C r ( x , y ) , C g ( x , y ) , C b ( x , y ) } ≥ α \min \left\{C_{r}(x, y), C_{g}(x, y), C_{b}(x, y)\right\} \geq \alpha min{Cr(x,y),Cg(x,y),Cb(x,y)}α

基于暗原色先验,我们可以得到一个估计场景颜色 C ′ ( x , y ) C'(x,y) C(x,y) 的下界 C ~ ( x , y ) \tilde{C}(x,y) C~(x,y)

  • ω ( x , y ) \omega(x,y) ω(x,y) 是一个权重值,定义为: ω ( x , y ) = exp ⁡ { − β min ⁡ { I r ( x , y ) , I g ( x , y ) , I b ( x , y ) } } \omega(x, y)=\exp \left\{-\beta \min \left\{I_{r}(x, y), I_{g}(x, y), I_{b}(x, y)\right\}\right\} ω(x,y)=exp{βmin{Ir(x,y),Ig(x,y),Ib(x,y)}}
  • β \beta β 是一个正的系数

C ~ ( x , y ) = 1 1 − ω ( x , y ) ( I ( x , y ) − ( 1 − ω ( x , y ) ) A ) \tilde{C}(x, y)=\frac{1}{1-\omega(x, y)}(I(x, y)-(1-\omega(x, y)) A) C~(x,y)=1ω(x,y)1(I(x,y)(1ω(x,y))A)

最终的估计颜色值 C ′ ( x , y ) C'(x,y) C(x,y) 取决于 C ~ ( x , y ) \tilde{C}(x,y) C~(x,y) α \alpha α 之间的最大值,即

C ′ ( x , y ) = max ⁡ { C ~ ( x , y ) , α } C^{\prime}(x, y)=\max \{\tilde{C}(x, y), \alpha\} C(x,y)=max{C~(x,y),α}

这样,我们就可以得到去雾后的图像 J ( x , y ) J(x,y) J(x,y)

J ( x , y ) = t ( x , y ) C ′ ( x , y ) + ( 1 − t ( x , y ) ) A J(x, y)=t(x, y) C^{\prime}(x, y)+(1-t(x, y)) A J(x,y)=t(x,y)C(x,y)+(1t(x,y))A

在这里插入图片描述


(3)基于暗原色先验的低照度图像增强

基于暗原色先验的低照度图像增强:将低照度图像反转后,其图像表征及直方图表征与雾天图像具有很高的相似性,算法步骤如下

  • 求得输入低照度图像的反转图像: R c ( x ) = 255 − I c ( x ) R^{c}(x)=255-I^{c}(x) Rc(x)=255Ic(x)
  • 进行暗原色先验去雾,获得无“雾”图像
  • 反转无“雾”图像 ,获得低照度增强图像

在这里插入图片描述

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

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

相关文章

Flutter 布局探索 | 如何分析尺寸和约束

theme: cyanosis 前言 本文来分享一下,通过查看源码和布局信息解决的一个实际中的布局小问题,也希望通过本文的分享,当你遇到布局问题时,可以靠自己的脑子和双手解决问题。 如下所示,将 TextField 作为 AppBar 组件的 …

java版本工程项目管理系统平台源码,助力工程企业实现数字化管理

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管…

重塑元宇宙体验!元宇宙实时云渲染解决方案来了

元宇宙作为人工智能、云计算和数字孪生等前沿技术的结合体,近年来越发受到各大企业重视。 元宇宙的应用场景层出不穷,不仅包括营销推广场景,还有品牌活动和电商销售,能有效提升品宣和商业转化效果。 元宇宙也具有极大的建设价值…

2.Spring Security详细使用

目录 1. Spring Security详细介绍 2. Spring Security详细使用 3. Spring Security实现JWT token验证 4. JWT(JSON Web Token,JSON令牌) 5. Spring Security安全注解 认证流程 1.集中式认证流程 (1)用户认证 使用…

【Unity入门】15.鼠标输入和键盘输入

【Unity入门】鼠标输入和键盘输入 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)监听鼠标输入 (1) Input类 Unity的Input类提供了许多监听用户输入的方法,比如我们常见的鼠标&a…

redis复制的设计与实现

一、复制 1.1旧版功能的实现 旧版Redis的复制功能分为 同步(sync)和 命令传播。 同步用于将从服务器更新至主服务器的当前状态。命令传播用于 主服务器状态变化时,让主从服务器状态回归一致。 1.1.1同步 当客户端向服务端发送slaveof命令…

5款十分小众的软件,知道的人不多但却很好用

今天推荐5款十分小众的软件,知道的人不多,但是每个都是非常非常好用的,有兴趣的小伙伴可以自行搜索下载。 1.视频直播录制——OBS Studio OBS Studio可以让你轻松地录制和直播你的屏幕、摄像头、游戏等内容。你可以使用OBS Studio来创建多种…

opengl入门之创建窗口

OpenGL系列文章目录 文章目录 OpenGL系列文章目录前言GLFWGLFW Logo构建GLFWAttention编译生成的库CMake编译我们的第一个工程链接Windows上的OpenGL库Linux上的OpenGL库ImportantGLAD配置GLAD 附加资源 前言 注意,由于作者对教程做出了更新,之前本节使…

springboot使用jasper实现报表demo

概述 业务中尝尝需要用到报表数据的渲染和导出.报表的配置势必不能写死,需要动态配置。 现成的JasperReports Jaspersoft Studio即可实现可配置的报表。 报表布局Jaspersoft Studio https://community.jaspersoft.com/community-download 下载布局工具&#xf…

【fisco-bcos底层链】WeBASE管理平台各组件分别打包成镜像部署到k8s上亲测完成

【fisco-bcos底层链】WeBASE管理平台各组件分别打包成镜像部署到k8s上亲测完成 前言第一步、docker 打包dockerfile书写第二步、fisco-bcos 三节点的底层链1. 更改数据库连接信息2.删除节点中运行预语句中最后的的&符号3. 具体编译的dockerfile4. 编译dockerfile生成 fisco…

【Linux编程Shell自动化脚本】01 Shell 变量、条件语句及常用概念操作等详解

文章目录 一、简介二、变量详解1. 系统变量 三、If条件语句1. ()、(())、[]、[[]]、let和test的区别(1)bash中的Compound Commands(2)Shell Builtin Commands(3)Arithmetic Evaluation(4&#x…

【MySQL | 进阶篇】09、MySQL 管理及常用工具(mysqladmin、mysqlbinlog、mysqldump 等)的使用

目录 一、系统数据库 二、常用工具 2.1 mysql 示例 2.2 mysqladmin 示例 2.3 mysqlbinlog 示例 2.4 mysqlshow 示例 2.5 mysqldump(数据备份) 示例 2.6 mysqlimport/source(数据恢复) 2.6.1 mysqlimport 2.6.2 …

实现表格可编辑(点击字段出现输入框)vue elementUI

实现表格可编辑 参考&#xff1a;el-table 中实现表格可编辑_el表格编辑_快乐征途的博客-CSDN博客 按行保存数据&#xff0c;每行数据最后都有一个保存按钮&#xff0c;如下图所示 使用的是<template>嵌套<el-input> 完整代码如下&#xff1a; <template>…

【计算机视觉 | 目标检测】RT-DETR:DETRs Beat YOLOs on Real-time Object Detection

文章目录 一、前言二、简介三、相关方法3.1 实时目标检测器3.2 端到端目标检测器3.3 目标检测的多尺度特征 四、检测器端到端速度4.1 分析NMS4.2 端到端速度基准 五、The Real-time DETR5.1 方法概览5.2 高效混合编码器5.2.1 计算瓶颈分析5.2.2 Hybrid design5.2.3 IoU-Aware查…

【LeetCode】105. 从前序与中序遍历序列构造二叉树

1.问题 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null…

“访达”不能完成操作,因为不能读取或写入“”中某些数据。

“访达”不能完成操作&#xff0c;因为不能读取或写入“”中某些数据。 复制文件夹时出现「“访达”不能完成该操作&#xff0c;因为不能读取或写入“”中的某些数据。 &#xff08;错误代码-36&#xff09;」及icloud中文件夹无法下载提示「未能下载项目“XX”。」 最近1个月…

1.Mybatis基本介绍

为什么使用MyBatis&#xff1f; 1.JDBC在创建Connection的时候&#xff0c;存在硬编码问题&#xff08;也就是直接把连接信息写死&#xff0c;不方便后期维护&#xff09; 2.preparedStatement对象在执行sql语句的时候存在硬编码问题 3.每次在进行一次数据库连接后都会关闭数据…

【SWAT水文模型】ArcSWAT输入准备:土地利用/土壤/气象数据

ArcSWAT输入准备&#xff1a;土地利用/土壤/气象数据 1 土地利用数据的处理1.1 数据下载 2 土壤库建立2.1 数据下载 3 气象数据库参考 1 土地利用数据的处理 1.1 数据下载 下载地址如下&#xff1a; 中科院1km土地利用数据 清华大学高精度土地利用数据 2 土壤库建立 SW…

pytest学习二(通过配置文件运行、分组执行,及其它一些参数)

接上一篇说到了环境的配置&#xff0c;以及一个用例的编写&#xff0c;接下来继续记录一些它的运行方式和一些平常使用的标签 一、通过全局配置文件&#xff08;pytest.ini&#xff09;运行 pytest.ini配置文件的编写规则 ①编码格式一般为ANSI ②一般放在项目的根目录下&a…

个人杂笔记

docker里面的-p暴露端口是确确实实写了才会映射到主机 docker run -d --hostname my-rabbit --name my-rabbit -e RABBITMQ_DEFAULT_USERroot -e RABBITMQ_DEFAULT_PASS250772730 -p 8080:8080 -p 15672:15672 -p 5672:5672 rabbitmq:3-managementpip安装提示warning 可能原因…