2013年发表在TIP上的对比度增强算法AGCWD(Efficient contrast enhancement using adaptive gamma correction with weighting distribution)

提出了一种自动映射技术,通过亮度像素的伽马校正和概率分布来提高调暗图像的亮度。为了增强视频,所提出的图像增强方法使用关于每帧之间差异的时间信息来减少计算复杂性。该算法本质上是一种自适应的gamma校正算法,其中,“自适应”是利用图像直方图信息来实现的,本文提出了一种混合HM方法,将cdf、加权分布和伽玛校正相结合的算法

算法步骤:

假设X表示我们的输入图像,其亮度$l$的变化范围$l_{min}$和$l_{max}$,那么这个算法一共分为5步来执行:

1、Image Statistics Computation

图像$X(i,j)$,亮度灰阶$I$的动态范围是$l_{min}$和$l_{max}$,其中 $l_{min}$是最小的灰度阶,例如8bit数据,Imin最小为0,最大为255。统计图像的灰阶像素分布概率probability density function (PDF)。

$$

PDF(l) =\frac{n_{l}}{MN}

$$

其中,$MN$是像素总个数,$n_{l}$是灰阶n对应的像素数。

2、Weighting Probability Density Function

利用cd f并应用归一化伽玛函数来修改变换曲线,而不会丢失可用的统计直方图,对前一步算出来的概率密度函数进行修改,加权分布(WD)函数也用于略微修改统计直方图,得到加权概率密度函数。

$$

PDF_{w}(l) =max(PDF)*(\frac{PDF(l)-min(PDF)}{max(PDF)-min(PDF)})^{\alpha}

$$

较低的伽玛参数产生更显著的调整,alpha可取[0.1,0.5]值,根据经验可以取0.5,让函数曲线更加平滑

3、Smoothed Cumulative Distribution Function

用$PDF_{w}(l)$计算cumulative distribution function (CDF) ,做归一化处理,利用第二步算出来的加权概率密度函数,求出平滑的累积分布函数

$$

CDF_{s}(l) =\sum_{l=l_{min}}^{l_{max}}\frac{PDF_{w}(l)}{\sum{PDF_{w}}}

$$

4、Adaptive Gamma Correction

T(l)transform function,利用第三步的图像累积分布函数信息CDF,进行自适应的gamma校正。

$$

T(l) = (l_{max}-l_{min})*(\frac{l}{l_{max}-l_{min}})^{\gamma}

$$

$$

\gamma=1-CDF_{s}(l)*P

$$

其中,P表示自适应参数,设置为1,取值范围[0.5,1]

5、Final Luminance Transformation

在映射函数T(l)映射函数中,最后一步就是对图像每个像素点的亮度值进行映射,就得到了对比度增强后的图像

$$

Y= {T (X(i, j))|∀X(i, j) ∈ X}

$$


该算法支持图像、视频数据流处理,图像数据流处理pipeline如下图:

视频数据流处理pipeline如下图:

仿真结果

仿真代码matlab Demo可以参考 ,自己跑跑看结果

代码链接:

https://github.com/AomanHao/ISP_Low_Light_Image_Enhancement


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

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问

【阅读笔记】对比度增强-《Efficientcontrast enhancement using adaptive gamma correction with weighting distribution 》 date: 2023-12-08 10:08:00的更多相关文章

  1. [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati

    [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...

  2. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  3. opencv----彩色图像对比度增强

    图像对比度增强的方法可以分成两类:一类是直接对比度增强方法;另一类是间接对比度增强方法. 直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法. 直方图拉伸是通过对比度拉伸对直方图进行调整,从而“ ...

  4. JavaScript高级程序设计 - 阅读笔记

    [本博客为原创:http://www.cnblogs.com/HeavenBin/] 前言: 大致花费了一个星期的时间把这本书认真看了半本,下面是我做的阅读笔记,希望能够让看这本书的人有个大致的参考. ...

  5. StackGAN 阅读笔记

    StackGAN 阅读笔记 StackGAN论文下载链接(arxiv) 创新点 提出多尺度的GAN Stage-I GAN Stage-II GAN Stage-I GAN 主要是根据文本描述抓取目标 ...

  6. 论文阅读笔记“Attention-based Audio-Visual Fusion for Rubust Automatic Speech recognition”

    关于论文的阅读笔记 论文的题目是“Attention-based Audio-Visual Fusion for Rubust Automatic Speech recognition”,翻译成中文为 ...

  7. 《Graph Neural Networks: A Review of Methods and Applications》阅读笔记

    本文是对文献 <Graph Neural Networks: A Review of Methods and Applications> 的内容总结,详细内容请参照原文. 引言 大量的学习 ...

  8. Minimum Barrier Salient Object Detection at 80 FPS 论文阅读笔记

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  9. Gated CNN 阅读笔记

    之前看过TCN,稍微了解了一下语言模型,这篇论文也是对语言模型建模,但是由于对语言模型了解不深,一些常用数据处理方法,训练损失的计算包括残差都没有系统的看过,只是参考网上代码对论文做了粗浅的复现.开学 ...

  10. HashMap源码阅读笔记

    HashMap源码阅读笔记 本文在此博客的内容上进行了部分修改,旨在加深笔者对HashMap的理解,暂不讨论红黑树相关逻辑 概述   HashMap作为经常使用到的类,大多时候都是只知道大概原理,比如 ...

随机推荐

  1. Android 原生 SQLite 数据库的一次封装实践

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/CL4MsQEsrWS8n7lhXCOQ_g作者:Li Bingyan 本文主要讲述原生SQLi ...

  2. 一、@Configuration、@Conponent 、@ComponentScan 注解等

    一句话概括 区别: @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例.2. 可以直接调用方法,不需要 @Autowired 注入后使用. ...

  3. 图扑 HT for Web 风格属性手册教程

    图扑软件明星产品 HT for Web 是一套纯国产化独立自主研发的 2D 和 3D 图形界面可视化引擎.HT for Web(以下简称 HT)图元的样式由其 Style 属性控制,并且不同类型图元的 ...

  4. WebGPU光追引擎基础课系列目录

    大家好~我开设了"WebGPU光追引擎基础课"的线上课程,从0开始,在课上带领大家现场写代码,使用WebGPU开发基础的光线追踪引擎 课程重点在于基于GPU并行计算,实现BVH构建 ...

  5. 0xGame 2023【WEEK1】Crypto全解

    What's CBC? 题目信息 from Crypto.Util.number import * from secret import flag,key def bytes_xor(a,b): a, ...

  6. SpringMVC08——拦截器——2021-05-11

    拦截器概述 SpringMVC的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并做相应的处理. 例如:进行权限验证.记录请求信息的日志.判断用户 ...

  7. [转帖]Java 8 要过时了?从JDK8飞升到JDK17,一次性给你讲明白

    https://blog.csdn.net/agonie201218/article/details/127916729?spm=1001.2101.3001.6650.2&utm_mediu ...

  8. [转帖]060-轻量级基于curl的seafile上传脚本

    https://anjia0532.github.io/2021/04/07/seafile-client-curl/ 这是坚持技术写作计划(含翻译)的第 60 篇,定个小目标 999,每周最少 2 ...

  9. 【转帖】一文解析ethtool 命令的使用

    命令简介 ethtool命令用于查询和控制网络设备驱动程序和硬件设置,尤其是有线以太网设备,devname网卡的名称.网卡就像是交换机的一个端口,正常使用我们只是配置网卡IP地址等信息,网卡的速率.双 ...

  10. awk的简要使用

    原文地址:https://www.lujun9972.win/blog/2020/08/23/在命令行进行简单的统计分析/index.html 目录 使用awk获取最小值.最大值.中位数和平均值 使用 ...