Retinex图像增强算法

前言

本人第一次写博客,记录整理一下自己学的知识,供大家参考,有写的不好的地方,希望大家谅解。如有错误,希望大家提出,本人予以改正。
本文参考以下文章,如有侵犯,请联系我处理。

参考

参考1
参考2
参考3

一 Retinex理论基础

Retinex理论始于Land和McCann于20世纪60年代作出的一系列贡献,其基本思想是人感知到某点的颜色和亮度并不仅仅取决于该点进入人眼的绝对光线,还和其周围的颜色和亮度有关。Retinex这个词是由视网膜(Retina)和大脑皮层(Cortex)两个词组合构成的。Land之所以设计这个词,是为了表明他不清楚视觉系统的特性究竟取决于此两个生理结构中的哪一个,抑或是与两者都有关系。

Retinex理论基于一下假设:
1.真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜—肥皂膜却是显现五彩缤纷,那是薄膜表面光干涉的结果。
2.每一颜色区域由给定波长的红、绿、蓝三原色构成的;
3.三原色决定了每个单位区域的颜色。

Retinex 理论的基本内容:
物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex理论是以色感一致性(颜色恒常性)为基础的。
不同于传统的线性、非线性的只能增强图像某一类特征的方法,Retinex可以在动态范围压缩、边缘增强和颜色恒常三个方面达到平衡,因此可以对各种不同类型的图像进行自适应的增强。
如下图所示,观察者所看到的物体的图像S是由物体表面对入射光L反射得到的,反射率R由物体本身决定,不受入射光L变化。
在这里插入图片描述
40多年来,研究人员模仿人类视觉系统发展了Retinex算法,从单尺度Retinex算法-SSR,改进成多尺度加权平均的Retinex算法-MSR,再发展成彩色恢复多尺度MSRCR算法色彩增益加权的AutoMSRCR算法
本文主要讲解单尺度SSR(Single Scale Retinex)

二 单尺度SSR(Single Scale Retinex)原理

Retinex理论的基本假设是原始图像S光照图像L反射率图像R的乘积,即可表示为下式的形式:
S ( x , y ) = R ( x , y ) ∗ L ( x , y ) S(x,y)=R(x,y)*L(x,y) S(x,y)=R(x,y)L(x,y)基于Retinex的图像增强的目的就是从原始图像S中估计出光照L,从而分解出R,消除光照不均的影响,以改善图像的视觉效果,正如人类视觉系统那样。在处理中,通常将图像转至对数域,即
s = l o g S ( x , y ) , l = l o g L ( x , y ) , r = l o g R ( x , y ) . . . . . . . . . . . . ( 1 ) s=logS(x,y),l=logL(x,y),r=logR(x,y)............(1) s=logS(x,y),l=logL(x,y),r=logR(x,y)............(1)所以有:
l o g S ( x , y ) = l o g R ( x , y ) + l o g L ( x , y ) . . . . . . . . . . . . . . . . . . . . . . . . . ( 2 ) logS(x,y)=logR(x,y)+logL(x,y).........................(2) logS(x,y)=logR(x,y)+logL(x,y).........................(2)转换得:
r ( x , y ) = l o g R ( x , y ) = l o g S ( x , y ) L ( x , y ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 3 ) r(x,y)=logR(x,y)=log\frac{S(x,y)}{L(x,y)}.............................(3) r(x,y)=logR(x,y)=logL(x,y)S(x,y).............................(3) r ( x , y ) = l o g S ( x , y ) − l o g [ F ( x , y ) ⨂ S ( x , y ) ] . . . . . . . . . . . . ( 4 ) r(x,y)=logS(x,y)−log[F(x,y)⨂S(x,y)]............(4) r(x,y)=logS(x,y)log[F(x,y)S(x,y)]............(4)
这里, r ( x , y ) r(x, y) r(x,y)是输出图像,上式中后面中括号里的运算是卷积运算。 F ( x , y ) F(x, y) F(x,y)是中心环绕函数,表示为:
F ( x , y ) = λ e − ( x 2 + y 2 ) c 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( 5 ) F(x,y)=\lambda e^{\frac{-(x^2+y^2)}{c^2}}..................................................(5) F(x,y)=λec2(x2+y2)..................................................(5)式中 c c c是高斯环绕尺度, λ λ λ是一个尺度,它的取值必须满足下式:
∫ ∫ F ( x , y ) d x d y = 1.............................................. ( 6 ) \int \int F(x,y)dxdy=1..............................................(6) F(x,y)dxdy=1..............................................(6)上面的式中可以看出,SSR算法中的卷积是对入射图像的计算,其物理意义是通过计算像素点与周围区域在加权平均的作用下,估计图像中照度的变化,并将 L ( x , y ) L(x,y) L(x,y)去除,只保留 S ( x , y ) S(x,y) S(x,y)属性。

三 算法的实现流程

1)将图像进行log变换
2)然后将log图像进行高斯模糊
3)利用原图和模糊之后的log图像做差分

单尺度Retinex算法SSR的实现流程可以概括如下:

  1. 读原图 S ( x , y ) S(x, y) S(x,y)
    若原图为灰度图:将图像各像素的灰度值由整数型(int)转换为浮点数(float),并转换到对数域;
    若原图为彩色图:将颜色分通道处理,每个分量像素值由整数型(int)转换为浮点数(float),并转换到对数域;
  2. 输入高斯环绕尺度 c c c,把积分运算离散化,转为求和运算,通过上式(5)(6)确定λ的值;
  3. 由式(4)得 r ( x , y ) r(x, y) r(x,y)
    若原图是灰度图,则只有一个 r ( x , y ) r(x, y) r(x,y)
    若原图为彩色图,则每个通道都有一个对应的 r ( x , y ) r(x, y) r(x,y)
  4. r ( x , y ) r(x, y) r(x,y)对数域转换到实数域,得到输出图像 R ( x , y ) R(x, y) R(x,y)
  5. 此时的 R ( x , y ) R(x, y) R(x,y)值的范围并不是0–255,所以还需要进行线性拉伸并转换成相应的格式输出显示。

前面的公式中,中心环绕函数 F ( x , y ) F(x, y) F(x,y)用的是低通函数,这样能够在算法中估计出入射图像对应原始图像的低频部分。从原始图像中除去低频照射部分,就会留下原始图像所对应的高频分量。高频分量很有价值,因为在人类的视觉系统中,人眼对边缘部分的高频信息相当敏感,所以SSR算法可以较好的增强图像中的边缘信息。
由于SSR算法中所选用的高斯函数特点,对于动态范围大幅度压缩和对比度增强两个指标,增强后的图像不能同时保证。但是为了平衡两种增强效果,就必须选择一个较为恰当的高斯尺度常量C。C值一般取值在80–100之间。

四 其它Retinex改进算法(了解)

多尺度的Retinex——MSR

通俗解释:就是再多个单尺度Retinex做平均,区别是在第二步高斯模糊是选择的sigma是不同的

原始图像进行三次SSR
高斯模糊选择15,80,200作为高斯模糊sigma参数
对三次的SSR结果做平均即为MSR图像

彩色恢复多尺度Retinex——MSRCR,MSRCP等

对多尺度MSR结果做了色彩平衡,归一化,增益和偏差线性加权

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Retinex理论是一种图像处理技术,旨在模拟人眼对光照不均匀环境中物体的视觉感知。Retinex理论基于人类视觉系统中的三个要素:眼睛、大脑和环境,以纠正图像中的光照不均匀问题。 常见的Retinex算法有以下几种: 1. 单尺度Retinex:该算法通过对图像的颜色空间进行对数变换来纠正图像的光照不均匀问题。 2. 多尺度Retinex:该算法使用不同的滤波器来处理图像的不同尺度,从而纠正图像的光照不均匀问题。 3. Retinex with MSRCR:该算法是基于多尺度Retinex的一种改进,通过自适应的方法来确定每一尺度的滤波器。 4. 全局Retinex:该算法通过全局分析图像的颜色空间来纠正图像的光照不均匀问题。 Retinex理论是一种有效的图像处理技术,在图像去噪、图像增强、图像分析等领域有着广泛的应用。 ### 回答2: Retinex理论是一种用于图像增强的图像处理理论,旨在模拟人类视觉系统对于光照变化的适应能力。该理论最早由Edwin H. Land于1971年提出,并在此后的几十年中不断发展完善。 Retinex理论的基本原理是通过对原始图像进行分解,提取出图像中的反射成分和光照成分,然后再将其重新组合,以实现图像的增强效果。其核心思想在于认为人眼看到的图像不仅仅是物体的反射亮度,还包括物体自身的颜色信息。 Retinex理论中最常见的算法是多尺度Retinex算法(MSR)。该算法将图像分解为多个尺度的图像,分别进行增强处理后再进行融合。算法的具体步骤如下: 1. 分解操作:将原始图像分解成多个尺度的图像,可以使用高斯金字塔或拉普拉斯金字塔进行分解。 2. 处理操作:对每个尺度的图像进行局部对比度增强,常见的算法有自适应增强函数(ACE)或多尺度增强函数(MSE)。 3. 合成操作:将每个尺度增强后的图像进行融合,可以通过加权融合、最大值或平均值等方式进行。 通过多尺度的处理和融合,MSR算法可以提取出图像中不同尺度的细节信息,同时保留图像的全局亮度和颜色信息,从而实现对图像的增强。 此外,Retinex理论还有其他的变体算法,如单尺度Retinex(SR)、白平衡Retinex算法(AWB-R)、多尺度Retinex with Color Restoration算法(MSRCR)等,各自针对不同的应用场景和问题进行改进和优化,以满足更多实际需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值