单尺度Retinex(SSR) + 代码实现

       我看了n多关于基于单尺度Retinex图像增强的文献,用的高斯滤波函数都不一样,有的直接用高斯滤波器,就是自带的gaussian函数实现,有的是用自定义高斯函数,然而公式系数又都不一样,我快被搞疯了,研究了三天,终于在Matlab上实现了这个 “简单” 的SSR,想哭???  

 


  • Retinex的理论依据

世界本是无色的,人们看到的颜色是 光和物质相互作用 的结果。

Retinex理论正印证了这一观点,认为物体的颜色与物体表面光照强度的绝对值,或者说反射光的绝对值关系不大,

而是由其接收到的不同波长的光线的反射能力所决定的,这是Retinex理论的核心所在。

Land提出的Retinex算法是一种建立在科学实验和分析上的常用的空域图像增强手段,如同Matlab是由Matrix(矩阵)和Laboratory(实验室)两个单词组合而成一样,Retinex是由Retina(视网膜)和Cortex(大脑皮层)两者组合而成,又可以被称为视网膜大脑皮层理论

它建立在三个假设的基础上:

  1. 人眼能感知的颜色实际上是光和物质相互作用的产物,而原本真实的世界是无色的。就如水本应是无色的,但我们看见水膜或肥皂膜呈现出五彩缤纷的色彩,实际上是薄膜干涉产生的。
  2. 固定波长的三原色(红、绿、蓝)构成了每一个颜色区域。
  3. 三原色决定了物体每个单位像素点的颜色。

Retinex算法的基础理论: 人类视觉系统观察到的物体的颜色是由物体对三种波形的反射能力决定的,分别是长波(红色)、中波(绿色)、短波(蓝色)。物体的色彩不受光照强度和光照的非均匀性所影响,具有一致性。

Retinex可以在色彩恒常性、动态范围压缩和边缘增强三个方面达到平衡。

  • 色彩恒常性

所谓色彩恒常性就是人体会通过视觉系统HVS(Human cisual system)对观察到的物体色彩变化进行处理,只保留物体内在的信息,而不会随外界光照的变化而对物体产生不同的认知变化,大脑皮层接收到这些物体的本质信息后,经过处理形成人的视觉。

例如,用红色光照射白色物体的表面,我们看到的不是红色,而是在红光照射下的白

你可能感兴趣的:(Matlab,Retinex,SSR,Matlab)