【阅读笔记】低照度图像增强-《Adaptive and integrated neighborhood-dependent approach for nonlinear enhancement of
本文介绍改进INDANE算法的低照度图像增强改进算法(AINDANE算法),《Adaptive and integrated neighborhood-dependent approach for nonlinear enhancement of color images》
INDANE算法文章链接
概述
改进算法同样采用亮度提升和对比度增强两个独立模块分别处理。
1、通过使用非线性传递函数实现的亮度提升。
2、图像通过对比度增强进行处理
算法过程
1、RGB图像
I
r
g
b
I^{rgb}
Irgb转为灰度图像
Y
Y
Y,并归一化为
Y
n
Y_{n}
Yn
Y
(
x
,
y
)
=
76.245
∗
I
r
(
x
,
y
)
+
19.685
∗
I
g
(
x
,
y
)
+
29.071
∗
I
b
(
x
,
y
)
255
Y(x,y)=\frac{76.245*I^{r}(x,y)+19.685*I^{g}(x,y)+29.071*I^{b}(x,y)}{255}
Y(x,y)=25576.245∗Ir(x,y)+19.685∗Ig(x,y)+29.071∗Ib(x,y)
Y
n
(
x
,
y
)
=
Y
(
x
,
y
)
255
Y_{n}(x,y)=\frac{Y(x,y)}{255}
Yn(x,y)=255Y(x,y)
2、亮度调节:根据下式进行非线性转换,同样是一个非线性gamma映射曲线
Y
n
′
=
(
Y
n
(
0.75
z
+
0.25
)
+
(
1
−
Y
n
)
∗
0.4
∗
(
1
−
z
)
+
Y
n
(
2
−
z
)
)
2
Y_{n}^{'}=\frac{(Y_{n}^{(0.75z+0.25)}+(1-Y_{n})*0.4*(1-z)+Y_{n}^{(2-z)})}{2}
Yn′=2(Yn(0.75z+0.25)+(1−Yn)∗0.4∗(1−z)+Yn(2−z))
其中,改进项是
z
z
z受图像统计数据影响对不同照度图像有不同处理。
z
=
{
0
,
f
o
r
L
<
=
50
L
−
50
100
,
f
o
r
50
<
L
<
=
150
1
,
f
o
r
L
>
150
z=\begin{cases} 0,for L<=50\\ \frac{L-50}{100},for50<L<=150\\1,for L>150 \end{cases}
z=⎩
⎨
⎧0,forL<=50100L−50,for50<L<=1501,forL>150
式中的
L
L
L 表示灰度图像
Y
Y
Y的累计直方图到1%像素总数时的灰阶值,如果
Y
Y
Y很亮,90%的像素值都大于150,则Z=1,则
Y
n
′
=
Y
n
Y_{n}^{'}=Y_{n}
Yn′=Yn,相当不处理,优化了正常照度过度提亮的问题。
3、对比度增强:接着对灰度图像
Y
Y
Y进行不同尺度的高斯核函数卷积运算,得到模糊图像
Y
′
Y'
Y′,卷积公式如下:
Y
′
(
x
,
y
)
=
Y
(
x
,
y
)
∗
G
(
x
,
y
)
Y'(x, y) = Y(x, y) * G(x, y)
Y′(x,y)=Y(x,y)∗G(x,y)
高斯卷积核
G
(
x
,
y
)
G(x,y)
G(x,y)如下:
G
(
x
,
y
)
=
K
∗
e
(
−
(
x
2
+
y
2
)
c
2
)
G(x,y)=K*e^{(\frac{-(x^2+y^2)}{c^2})}
G(x,y)=K∗e(c2−(x2+y2))
其中,
K
K
K函数
∬
K
∗
e
(
−
(
x
2
+
y
2
)
c
2
)
d
x
d
y
=
1
\iint K*e^{(\frac{-(x^2+y^2)}{c^2})}dxdy=1
∬K∗e(c2−(x2+y2))dxdy=1
其中,
c
c
c是高斯函数尺度;
4、通过高斯模糊考虑领域信息,根据下式得到增强系数
R
R
R,中心像素的亮度可以根据
R
(
x
,
y
)
R(x,y)
R(x,y)是否大于或小于1(由较亮像素或较暗像素包围)而增加或减少。
R
(
x
,
y
)
=
255
∗
Y
n
′
(
x
,
y
)
r
(
x
,
y
)
R(x,y) =255* Y_{n}^{'}(x,y)^{r(x,y)}
R(x,y)=255∗Yn′(x,y)r(x,y)
其中,
r
(
x
,
y
)
r(x,y)
r(x,y)表示如下
r
(
x
,
y
)
=
[
Y
′
(
x
,
y
)
Y
(
x
,
y
)
]
p
r(x,y)=[\frac{Y'(x, y)}{Y(x, y)}]^{p}
r(x,y)=[Y(x,y)Y′(x,y)]p
其中,改进项是引入参数
p
p
p 改善图像对比度,
p
p
p受图像标准差影响对数据有不同处理,
p
p
p计算如下:
p
=
{
3
,
f
o
r
σ
<
=
3
27
−
2
σ
7
,
f
o
r
3
<
σ
<
=
7
1
,
f
o
r
σ
>
7
p=\begin{cases} 3,for \sigma<=3\\ \frac{27-2\sigma}{7},for3<\sigma<=7\\1,for \sigma>7 \end{cases}
p=⎩
⎨
⎧3,forσ<=3727−2σ,for3<σ<=71,forσ>7
其中,
σ
\sigma
σ表示全局图像均方差(global standard deviation)。当全局均方差小于3时表示图像对比度很差,此时
P
P
P取大值。
5、为了获得最佳的图像增强效果,使用不同尺度的多个卷积结果进行对比度增强。最终的输出是基于多个尺度的对比度增强结果的线性组合
R
(
x
,
y
)
=
∑
i
w
i
R
i
(
x
,
y
)
R(x,y)=\sum_{i}w_{i}R_{i}(x,y)
R(x,y)=i∑wiRi(x,y)
尺度选择5, 20 and 240,权重为取均值
6、RGB三通道等比例恢复
R
j
(
x
,
y
)
=
R
(
x
,
y
)
∗
I
j
(
(
x
,
y
)
I
(
(
x
,
y
)
∗
λ
R_{j}(x,y)=R(x,y)*\frac{I_{j}((x,y)}{I((x,y)}*\lambda
Rj(x,y)=R(x,y)∗I((x,y)Ij((x,y)∗λ
其中,
j
j
j表示rgb三通道分量,
R
j
R_j
Rj是增强图像。
λ
\lambda
λ表示色调调节因子,通常取1也可,输出的彩色图像可以通过色彩饱和度和白平衡调整进一步细化。
效果对比



图、测试图像1、INDANE处理效果、AINDANE处理效果



图、测试图像2、INDANE处理效果、AINDANE处理效果



图、测试图像3、INDANE处理效果、AINDANE处理效果



图、测试图像4、INDANE处理效果、AINDANE处理效果
算法总结
相较INDANE算法,主要改进点在步骤2、4统计图像数据对亮度调节和对比度增强两个模块进行分别优化,达到算法应用普适化的效果,即对正常照度对比度好的图像微处理。
【阅读笔记】低照度图像增强-《Adaptive and integrated neighborhood-dependent approach for nonlinear enhancement of的更多相关文章
- Mysql DOC阅读笔记
Mysql DOC阅读笔记 转自我的Github Speed of SELECT Statements 合理利用索引 隔离调试查询中花费高的部分,例如函数调用是在结果集中的行执行还是全表中的行执行 最 ...
- [置顶]
人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
- 阅读笔记 1 火球 UML大战需求分析
伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本 <火球 UML大战需求分析>,首先 ...
- [阅读笔记]Software optimization resources
http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++ 7. The efficiency of differe ...
- 《uml大战需求分析》阅读笔记05
<uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...
- <<UML大战需求分析>>阅读笔记(2)
<<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...
- uml大战需求分析阅读笔记01
<<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...
- Hadoop阅读笔记(七)——代理模式
关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...
- Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...
- Hadoop阅读笔记(五)——重返Hadoop目录结构
常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...
随机推荐
- 你知道Vue响应式数据原理吗
1. Vue2的响应式式原理主要是通过Object.defineProperty的方法里面的setter和getter方法的观察者模式来实现.也就是在组件的初始话阶段给每一个data属性都注册一个se ...
- 解决flex布局中justify-content设置成space-between后因数据问题导致最后一行布局错乱
在常用的flex布局中,当页面展示商品时,因为数据的不确定,导致justify-content设置成space-between,最后一行布局错乱 1 <!DOCTYPE html> 2 & ...
- Yolov8离谱报错
YoloV8离谱报错 今天下午给一个研究生小姐姐跑数据集,用的是yolov8在恒源云上租的4070的GPU服务器,跑垃圾分类数据集(https://blog.csdn.net/m0_5488250 ...
- 项目中统计SQL执行缓慢的方案-数据预处理
使用场景: 由于表数据量巨大,导致一些统计相关的sql执行非常慢,使用户有非常不好的体验,并且sql和数据库已经没有优化空间了.(并且该统计信息数据实时性要求不高的前提下) 解决方案: 整体思路:创建 ...
- node.js基于react项目打包部署到nginx中(Linux服务器)
1.首先进入React项目目录. 2.执行npm命令进行打包(生成dist包或build包). npm run build 3.将打包的静态文件放入nginx目录中(可以自己新创建一个目录,也可以放在 ...
- Ansible中的变量
Ansible中的变量 目录 Ansible中的变量 变量概述 变量定义的方式 变量的优先级 如何定义变量 playbook中定义变量 vars_file中定义变量 系统内置变量 inventory定义 ...
- 2023-04-27:用go语言重写ffmpeg的remuxing.c示例。
2023-04-27:用go语言重写ffmpeg的remuxing.c示例. 答案2023-04-27: ffmpeg的remuxing.c是一个用于将多媒体文件从一种容器格式转换为另一种容器格式的命 ...
- 2021-05-20:给定一个数组arr, 返回如果排序之后,相邻两数的最大差值。要求:时间复杂度O(N) 。
2021-05-20:给定一个数组arr, 返回如果排序之后,相邻两数的最大差值.要求:时间复杂度O(N) . 福大大 答案2021-05-20: 假设答案法.N个数,根据最大值和最小值的范围等分成N ...
- Prompt工程师指南[从基础到进阶篇]:用于开发和优化提示,以有效地使用语言模型(LMs)进行各种应用和研究主题
Prompt工程师指南[从基础到进阶篇]:用于开发和优化提示,以有效地使用语言模型(LMs)进行各种应用和研究主题 Prompt工程是一种相对较新的学科,用于开发和优化提示,以有效地使用语言模型(LM ...
- select_related一对一、多对一查询优化
select_related一对一.多对一查询优化 Course.objects.all().select_related('teacher') 查询课程时顺带查出老师的信息