【阅读笔记】沙尘图像线性颜色校正A fusion-based enhancing approach for single sandstorm image

一、沙尘图像背景

沙尘图像处理面临的主要问题是色彩偏移和图像细节模糊,在去除偏色后利用改进的去雾算法对沙尘图像进行处理,但是由于沙尘和雾霾形成的原理不同,沙尘的颗粒半径接近25µm,远远大于雾霾(0.01 ~ 1µm)和雾(1 ~ 10µm),因此除雾算法模型不适用,容易出现色彩失真的问题。

由于沙尘天气下空气中悬浮的沙尘颗粒对蓝色光的吸收和对红色光的反射,沙尘暴图像一般呈现黄色,因为黄色光的穿透性和散射性最大,沙尘图像RGB三通道的直方图分布不均衡,同时存在分布较为集中,这使得图像整体看起来偏黄和偏红。沙尘环境下对视频图像采集的影响首先是色彩的偏移。

二、线性颜色校正

本文关注颜色校正部分,沙尘图的三通道直方图具有偏移性,要调整三通道的偏移性,以往的研究方法是通过对直方图进行建模,这样虽然能解决这个问题,但是也有可能会导致色彩失真等问题。

《A fusion-based enhancing approach for single sandstorm image》的作者对沙尘暴图像进行预处理,采用基于统计方法的颜色校正方法去除色差,使图像呈现自然的外观。

O m a x c = O m e a n c + μ ∗ O v a r c O m i n c = O m e a n c − μ ∗ O v a r c O_{max}^{c} =O_{mean}^{c}+\mu *O_{var}^{c} \\ O_{min}^{c} =O_{mean}^{c}-\mu *O_{var}^{c} Omaxc=Omeanc+μ∗OvarcOminc=Omeanc−μ∗Ovarc

其中,O表示输入图像,c表示RGB通道, O m e a n c O_{mean}^{c} Omeanc表示均值, O v a r c O_{var}^{c} Ovarc表示均方差, μ \mu μ是控制图像饱和度的参数,论文中参数为3。

O m a x c O_{max}^{c} Omaxc表示色偏最大估计值, O m i n c O_{min}^{c} Ominc表示色偏最小估计值。对每个颜色通道做归一化处理,得到:

O C R c = O c − O m i n c O m a x c − O m i n c ∗ 255 O_{CR}^{c} =\frac{O^{c}-O_{min}^{c}}{O_{max}^{c}-O_{min}^{c}}*255 OCRc=Omaxc−OmincOc−Ominc∗255

其中, O C R c O_{CR}^{c} OCRc是颜色校正后的数据分量。

三、论文后续处理

3.1 亮度改善

颜色校正不能解决光的吸收和散射导致的亮度不均匀问题,后续在HSV域对V分量使用gamma校正改善亮度问题、或者使用直方图均衡处理V通道提高图像对比度。

V ′ = 255 ( V 255 ) 1 γ V'=255(\frac{V}{255})^{\frac{1}{\gamma}} V′=255(255V)γ1

3.2 权重融合

sharpness weight map、chromatic weight map、prominence weight map三种权重结合进行图像融合,这里不展开了。

四、文章效果

对比算法都是拉伸图像动态范围,没有处理沙尘图像偏色问题

五、仿真效果

原理简单,直接复现,颜色校正效果还行,计算还比较简单,左图原始图,右图是仿真结果图

测试代码链接


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

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

相关推荐
AndrewHZ1 小时前
图像处理入门021 | 直方图:图像像素分布的可视化 —— cv2.calcHist 与 4 类典型分布
图像处理·opencv·直方图·直方图均衡化·cdf·灰度直方图·多通道直方图
weixin_466068111 小时前
《十分钟冥想》精读笔记(上):每天10分钟,给大脑做一次“系统减负”
笔记
凯尔萨厮2 小时前
Java学习笔记十(注解)
java·笔记·学习
一条破秋裤3 小时前
STM32 学习笔记:GPIO 输出实验——LED 闪烁、流水灯与蜂鸣器
笔记·stm32·学习
存在morning4 小时前
【Paimon 学习笔记 二】存储架构:快照、manifest、LSM 树、bucket
笔记·学习·架构
双眼鈹4 小时前
周报8.31
笔记·学习
打团从来人不齐4 小时前
Linux服务器搭建笔记-008:台式机共享WIFI
linux·服务器·笔记
疯狂打码的少年5 小时前
【数据库技术】SQL概述与数据定义(DDL:CREATE/DROP/ALTER)
数据库·笔记·sql·oracle
一条破秋裤5 小时前
STM32 学习笔记:GPIO 输出原理与硬件设计
笔记·stm32·学习
摇滚侠5 小时前
《SpringBoot 3:入门与应用实战》第 9 章 使用 WebMvc 开发进阶 阅读笔记 24
spring boot·笔记·后端