Retinex方法
Retinex是由 Retina 和 Cortex 两个词组成,该理论认为物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的。
由此观察者看到的图像S是由物体表面对入射光L反射得到的,反射率R由物体本身决定与入射光L无关:
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,并将图像数据取对数将乘法转为加法方便计算
l o g ( R ( x , y ) ) = l o g ( S ( x , y ) ) − l o g ( L ( x , y ) ) log(R(x,y))=log(S(x,y)) - log(L(x,y)) log(R(x,y))=log(S(x,y))−log(L(x,y))
从后面的实验可以看到,这种算法对光照不均(过曝、阴影)有不错的改善,同时也有文章指出这类方法比较适合航空图像的去雾。
SSR算法
单尺度视网膜(Singal Scale Retinex)算法是Retinex最基础的一个算法,步骤如下:
- 原图高斯滤波并取对数,得到 L l o g L_{log} Llog
- 原图取对数,得到 S l o g S_{log} Slog
- S l o g − L l o g S_{log}-L_{log} Slog−L