【ISP】基于暗通道先验改进的红外图像透雾

一、基于暗通道先验改进的灰度图像增强

短波中波红外图像对比度低层次感差,分辨率小导致视觉模糊,本文将暗通道先验应用于红外图像增强,改善红外图像低对比度问题。重点应用在室外观测实景

二、可见光RGB图像的暗通道先验透雾

可见光图像暗通道透雾算法是由何凯明提出,他把无雾图像划分为较小的图像区域,发现每个区域内都存在一些颜色通道非常低的值,几乎接近于 0,因此把趋于 0 的颜色通道称之为暗通道。暗通道先验基于可见光RGB图像的统计规律:无雾图像中,局部区域至少一个通道像素值极低(趋近0)

暗通道算法不适合含有天空、镜面反射物体的场景

2.1 可见光暗通道计算

在RGB通道选择一个数值最小的通道作为暗通道数据

I dark ( x ) = min ⁡ c ∈ { r , g , b } ( min ⁡ y ∈ Ω ( x ) I c ( y ) ) I^{\text{dark}}(x)=\min_{c\in\{r,g,b\}}\left(\min_{y\in\Omega(x)}I^c(y)\right) Idark(x)=c∈{r,g,b}min(y∈Ω(x)minIc(y))

其中 J C J^C JC是不同色彩通道, Ω ( x ) \Omega(x) Ω(x)是以当前像素x为中心的窗口(3×3滑窗),y是滑窗内的邻域像素

2.2 透射率计算

t ( x ) = 1 − ω ∗ I d a r k ( y ) A t(x)=1−\omega *\frac{I^{dark}(y)}{A} t(x)=1−ω∗AIdark(y)

ω \omega ω为去雾强度,通常常取 0.95

2.3 透雾图像恢复

J ( x ) = I ( x ) − A m a x ( t ( x ) , t 0 ) + A J(x)=\frac{I(x)−A}{max(t(x),t0)}+A J(x)=max(t(x),t0)I(x)−A+A

t0​为透射率下限,避免除零

三、红外灰度图像的暗通道先验透雾

3.1 灰度图像DCP

红外图像为单通道数据,将局部最小滤波替代三通道最小,提取暗通道图。

I dark ( x ) = min ⁡ y ∈ Ω ( x ) I ( y ) I^{\text{dark}}(x)=\min_{y\in\Omega(x)}I(y) Idark(x)=y∈Ω(x)minI(y)

Ω ( x ) \Omega(x) Ω(x):以x为中心的窗口(选择15×15滑窗)

3.2 透射率计算

t ( x ) = 1 − ω I d a r k ( y ) A t(x)=1−\omega \frac{I^{dark}(y)}{A} t(x)=1−ωAIdark(y)

ω \omega ω为透雾强度,通常常取0.8-0.9

用原图I做引导,对透射率做引导滤波处理,消除块效应、保留边缘

3.3 大气光A估计

取暗通道前0.1% 最亮像素的均值

3.4 透雾图像恢复

J ( x ) = I ( x ) − A m a x ( t ( x ) , t 0 ) + A J(x)=\frac{I(x)−A}{max(t(x),t0)}+A J(x)=max(t(x),t0)I(x)−A+A

t0​为透射率下限,避免除零,取0.1

四、仿真结果

对网上找到的红外图像(左图)进行仿真,仿真结果(右图)具有透雾效果,对比度提升很多,还有一些artifit需要进一步处理

仿真代码链接如下,感兴趣的可以跑跑

测试代码链接


我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

相关推荐
kp000007 小时前
如何平衡模型输出的“有用性”和“安全性
人工智能·安全·网络安全·信息安全·ai安全
长风2307 小时前
Day 18:自动备份和恢复自定义UI —— 构建Dashboard自动恢复脚本
人工智能·安全
Token炼金师7 小时前
自主的引擎:ReAct、MCP、多 Agent、Workflow 与沙箱护栏 —— Agent 与工具六器
人工智能·深度学习·llm
冬哥聊AI7 小时前
京东二面追问:你的 RAG 有几种检索路径?怎么决定走哪条?Query 路由四层框架
人工智能
乐橙开放平台7 小时前
明厨亮灶笔记:乐橙轻应用 H5 + 小程序插件,一套 BFF 出两张播放凭证
人工智能·笔记·物联网·小程序·音视频·notepad++
何时梦醒7 小时前
⚛️ React 19 + TypeScript 深度学习笔记 —— 从组件化思维到 WebGPU 端侧 AI 落地
前端·javascript·人工智能
码农学院7 小时前
Neo4j知识图谱赋能跨境电商GEO:LLM实体识别与AI搜索引擎结构化数据输出实战
人工智能·知识图谱·neo4j
东风破_7 小时前
大模型流式输出是怎么实现的?从 ReadableStream、Uint8Array 到 SSE
人工智能
ZZZMMM.zip7 小时前
断舍离清单 —— 鸿蒙AI智能助手开发全流程解析
人工智能·华为·harmonyos·鸿蒙·鸿蒙系统