单尺度SSR

(Single Scale Retinex)

图像

S

(

x

,

y

)

S(x,y)

S(x,y)分解为两个不同的图像:反射图像

R

(

x

,

y

)

R(x,y)

R(x,y),入射图像

L

(

x

,

y

)

L(x,y)

L(x,y)

图像可以看做是入射图像和反射图像构成,入射光照射在反射物体上,通过反射物体的反射,形成反射光进入人眼。最后形成的图像

r

(

x

,

y

)

r(x,y)

r(x,y)可以如下公式表示

r

(

x

,

y

)

=

l

o

g

R

(

x

,

y

)

=

l

o

g

S

(

x

,

y

)

L

(

x

,

y

)

r(x,y)=logR(x,y)=log\frac{S(x,y)}{L(x,y)}

r(x,y)=logR(x,y)=logL(x,y)S(x,y)​

R

(

x

,

y

)

R(x, y)

R(x,y)表示了物体的反射性质,即图像内在属性,我们应该最大程度的保留;而

L

(

x

,

y

)

L(x, y)

L(x,y)表示入射光图像,决定了图像像素能达到的动态范围,我们应该尽量去除。

我们把照射图像假设估计为空间平滑图像,原始图像为

S

(

x

,

y

)

S(x, y)

S(x,y),反射图像为

R

(

x

,

y

)

R(x, y)

R(x,y),亮度图像为

L

(

x

,

y

)

L(x, y)

L(x,y),使用公式

r

(

x

,

y

)

=

l

o

g

R

(

x

,

y

)

=

l

o

g

S

(

x

,

y

)

L

(

x

,

y

)

r(x,y)=logR(x,y)=log\frac{S(x,y)}{L(x,y)}

r(x,y)=logR(x,y)=logL(x,y)S(x,y)​
或者

r

(

x

,

y

)

=

l

o

g

S

(

x

,

y

)

l

o

g

[

F

(

x

,

y

)

S

(

x

,

y

)

]

r(x,y)=logS(x,y)-log[F(x,y)⨂S(x,y)]

r(x,y)=logS(x,y)−log[F(x,y)⨂S(x,y)]

其中r(x, y)是输出图像,卷积运算,

F

(

x

,

y

)

F(x, y)

F(x,y)是中心环绕函数

F

(

x

,

y

)

=

λ

e

x

2

+

y

2

c

2

F(x,y)=\lambda*e^{-\frac{x^2+y^2}{c^2}}

F(x,y)=λ∗e−c2x2+y2​

其中C是高斯环绕尺度,λ是一个尺度,满足

F

(

x

,

y

)

d

x

d

y

=

1

∫∫F(x,y)dxdy=1

∫∫F(x,y)dxdy=1

SSR算法中的卷积是对入射图像的计算,其物理意义是通过计算像素点与周围区域在加权平均的作用下,估计图像中照度的变化,并将L(x,y)去除,只保留S(x,y)属性。

多尺度MSR

(Multi-Scale Retinex)

MSR是在SSR基础上发展来的,优点是可以同时保持图像高保真度与对图像的动态范围进行压缩的同时,MSR也可实现色彩增强、颜色恒常性、局部动态范围压缩、全局动态范围压缩,也可以用于X光图像增强。

r

(

x

,

y

)

=

k

K

w

k

l

o

g

S

(

x

,

y

)

l

o

g

[

F

k

(

x

,

y

)

S

(

x

,

y

)

]

r(x,y)=∑_k^Kw_klogS(x,y)-log[F_k(x,y)*S(x,y)]

r(x,y)=k∑K​wk​logS(x,y)−log[Fk​(x,y)∗S(x,y)]
K是高斯中心环绕函数的个数。当K=1时,MSR退化为SSR,K取值通常为3

w

1

=

w

2

=

w

3

=

1

3

w1=w2=w3=\frac13

w1=w2=w3=31​

缺点:边缘锐化不足,阴影边界突兀,部分颜色发生扭曲,纹理不清晰,高光区域细节没有得到明显改善,对高光区域敏感度小

带颜色恢复的MSR方法MSRCR

(Multi-Scale Retinex with Color Restoration)
SSR和MSR普遍都存在明显的偏色问题

MSRCR在MSR的基础上,加入了色彩恢复因子C来调节由于图像局部区域对比度增强而导致颜色失真的缺陷。

改进公式:

R

M

S

R

C

R

i

(

x

,

y

)

=

C

i

(

x

,

y

)

R

M

S

R

i

(

x

,

y

)

R_{MSRCR_i}(x,y)=C_i(x,y)R_{MSR_i}(x,y)

RMSRCRi​​(x,y)=Ci​(x,y)RMSRi​​(x,y)
其中

C

i

(

x

,

y

)

=

f

[

I

i

(

x

,

y

)

]

=

f

[

I

i

(

x

,

y

)

j

=

1

N

I

j

(

x

,

y

)

]

C_i(x,y)=f[I_i^{'}(x,y)]=f[\frac{I_i(x,y)}{∑_{j=1}^{N}I_j(x,y)}]

Ci​(x,y)=f[Ii′​(x,y)]=f[∑j=1N​Ij​(x,y)Ii​(x,y)​]
其中

f

[

I

i

(

x

,

y

)

]

=

β

l

o

g

[

α

I

i

(

x

,

y

)

]

=

β

l

o

g

[

α

I

i

i

(

x

,

y

)

]

l

o

g

[

j

=

1

N

I

j

(

x

,

y

)

]

f[I_i^{'}(x,y)]=βlog[αI_i^{'}(x,y)]=β{log[αI_i^{'}i(x,y)]-log[∑_{j=1}^NI_j(x,y)]}

f[Ii′​(x,y)]=βlog[αIi′​(x,y)]=βlog[αIi′​i(x,y)]−log[j=1∑N​Ij​(x,y)]

参数说明

Ii(x, y)表示第i个通道的图像
Ci表示第i个通道的彩色回复因子,用来调节3个通道颜色的比例;
f(·)表示颜色空间的映射函数;
β是增益常数;
α是受控制的非线性强度;

MSRCR算法利用彩色恢复因子C,调节原始图像中3个颜色通道之间的比例关系,从而把相对较暗区域的信息凸显出来,达到了消除图像色彩失真的缺陷。
处理后的图像局部对比度提高,亮度与真实场景相似,在人们视觉感知下,图像显得更加逼真。

参考文章

图像处理_Retinex图像增强的更多相关文章

  1. 图像处理之图像增强项目---csdn去雾专栏1

    (一)高斯低通滤波去噪 高斯低通滤波器(Gaussian Low Pass Filter)是一类传递函数为高斯函数的线性平滑滤波器.又由于高斯函数是正态分布的密度函数.因此高斯低通滤波器对于去除服从正 ...

  2. GOCVHelper图像处理算法库实例整编

        GOCVHelper主要包含图像处理.图像增强和基础文件处理三个部分.由于前两个部分较具有通用性,而且我在不同项目中都进行了反复使用,为了进一步说明类库内容,这里反过来从项目角度出发,对现有的 ...

  3. 【并行计算-CUDA开发】FPGA 设计者应该学习 OpenCL及爱上OpenCL的十个理由

    为什么要学习OpenCL呢?就目前我所从事的医疗超声领域,超声前端的信号处理器一般是通过FPGA或FPGA+DSP来设计的,高端设备用的是FPGA+ GPU架构.传统的设计方法是通过HDL语言来进行设 ...

  4. 纯Python综合图像处理小工具(2)图像增强

    <背景> 这次分享的脚本是对图像进行增强处理,包含对图像像素的色彩增强.亮度增强.对比度增强.图像尖锐化等增强操作,主要基于PIL包的lambda和ImageEnhance模块. 使用方法 ...

  5. MATLAB数字图像处理(二)图像增强

    1         图像增强 1.1            直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: I2=histeq(I1); ...

  6. 图像处理之增强---图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法

    申明:本文非笔者原创,原文转载自:http://blog.csdn.net/onezeros/article/details/6342661 两组图像:左边较暗,右边较亮 第一行是原图像,他们下面是用 ...

  7. Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉

    Atitit 图像处理和计算机视觉的分类 三部分 图像处理 图像分析 计算机视觉 1.1. 按照当前流行的分类方法,可以分为以下三部分:三部分 图像处理 图像分析 计算机视觉1 1.2. 图像处理需要 ...

  8. Atitit 图像处理的摩西五经attilax总结

    Atitit 图像处理的摩西五经attilax总结 1. 数字图像处理(第三版)1 2. 图像处理基础(第2版)(世界著名计算机教材精选)1 3. 计算机视觉特征提取与图像处理(第三版)2 4. Op ...

  9. Atitit MATLAB 图像处理 经典书籍attilax总结

    Atitit MATLAB 图像处理 经典书籍attilax总结 1.1. MATLAB数字图像处理1 1.2. <MATLAB实用教程(第二版)>((美)穆尔 著)[简介_书评_在线阅读 ...

  10. Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx

    Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx 分类 图像处理知识点体系 v2 qb24.xlsx 分类 分类 理论知识 图像金字塔 常用底层操作 卷积扫描 ...

随机推荐

  1. 省市县树形结构打印-.netCore控制台程序

    using CityJson;using Dapper;using Newtonsoft.Json;{ using (var db = DbHelper.Db()) { //数据格式 //code_p ...

  2. mysql基础_事务

    定义 一个事务其实就是一个完整的业务逻辑,是一个最小的工作单元,不可再分,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败. 例如:王五向赵六的账户上转 ...

  3. 2022-07-10:以下go语言代码输出什么?A:A,B;B:A,C:A,fatal error;D:fatal error... func main() { var m sync.Mute

    2022-07-10:以下go语言代码输出什么?A:A,B:B:A,C:A,fatal error:D:fatal error- func main() { var m sync.Mutex fmt. ...

  4. mysql 5.7 json 类型 json 数组类型 普通字符串类型 10w数据 查询速度差异

    json 非数组 建表语句ddl CREATE TABLE tb_json_test ( id INT NOT NULL AUTO_INCREMENT, user_no VARCHAR(100), u ...

  5. Salesforce LWC学习(四十四) Datatable 显示日期类型的有趣点思考

    本篇参考:https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.reference_sale ...

  6. vue全家桶进阶之路6:Vue的安装以及js引入

    1.安装 注意:Vue 不支持 IE8 及以下版本 创建一个文件夹用于下载引入Vue D:\BaiduSyncdisk\vue2 按照最新版本的Vue npm install vue 创建完成后便可以 ...

  7. Vue2 去除定时器之常用三种方式及特殊方式

    一般情况去除定时器的常用的三种方式方法:创建一下三种钩子函数,一般有其中一个就足以实现清除定时器的效果beforeDestroy(){ beforeDestroy(){ // 离开当前路由前的操作 c ...

  8. Vue3.3 的新功能的一些体验

    Vue3 在大版本 3.3 里面推出来了一些新功能(主要是语法糖),网上有各种文章,但是看起来似乎是一样的. 我觉得吧,有新特性了,不能光看,还要动手尝试一下. DefineOptions 宏定义 先 ...

  9. 记录-开发WPF项目中的一个疑惑

    背景 项目技术栈:C#,WPF当前我想要实现点击某个按钮就可以跳转到某个界面,翻阅了项目中的代码,看到了 // 按钮事件 private void Btn_Click(object sender, R ...

  10. c++的前世今生

    C++ 语言是本贾尼·斯特劳斯特卢普 在1982 年发明的,早期版本被称为C with Classes,之后在1983年更名为C++. C++语言在发明后很快就获得了广泛的应用,由于其具有高效.灵活和 ...