Retinex是一种常用的建立在科学实验和科学分析基础上的图像增强方法,它是Edwin.H.Land于1963年提出的。就跟Matlab是由Matrix和Laboratory合成的一样,Retinex也是由两个单词合成的一个词语,他们分别是retina 和cortex,即:视网膜和皮层。Land的retinex模式是建立在以下三个假设之上的:

(1)真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜—肥皂膜却是显现五彩缤纷,那是薄膜表面光干涉的结果。

(2)每一颜色区域由给定波长的红、绿、蓝三原色构成的;

(3)三原色决定了每个单位区域的颜色。

Retinex理论的基础理论是物体的颜色是由物体对长波(红色)、中波(绿色)、短波(蓝色)光线的反射能力来决定的,而不是由反射光强度的绝对值来决定的,物体的色彩不受光照非均匀性的影响,具有一致性,即retinex是以色感一致性(颜色恒常性)为基础的。不同于传统的线性、非线性的只能增强图像某一类特征的方法,Retinex可以在动态范围压缩、边缘增强和颜色恒常三个方面打到平衡,因此可以对各种不同类型的图像进行自适应的增强。

40多年来,研究人员模仿人类视觉系统发展了Retinex算法,从单尺度Retinex算法改进成多尺度加权平均的Retinex算法,再发展成彩色恢复多尺度Retinex算法。

一、单尺度SSR(Single Scale Retinex)

一幅给定的图像S(x,y)可以分解为两个不同的图像:反射图像R(x,y)和亮度图像(也有人称之为入射图像)L(x,y),其原理如下图所示:

经典Retinex算法简要剖析相关推荐

  1. 十大经典排序算法动画与解析,看我就够了

    作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  2. 【算法入门】用Python手写五大经典排序算法,看完这篇终于懂了!

    算法作为程序员的必修课,是每位程序员必须掌握的基础.作为Python忠实爱好者,本篇将通过Python来手撕5大经典排序算法,结合例图剖析内部实现逻辑,对比每种算法各自的优缺点和应用点.相信我,耐心看 ...

  3. 用Python手写五大经典排序算法,看完这篇终于懂了!

    算法作为程序员的必修课,是每位程序员必须掌握的基础.作为Python忠实爱好者,本篇东哥将通过Python来手撕5大经典排序算法,结合例图剖析内部实现逻辑,对比每种算法各自的优缺点和应用点.相信我,耐 ...

  4. Retinex、log对数变换、直方图均衡化区别,边缘增强Retinex算法与拉普拉斯算法联系、均衡化与亮度调节算法、大津阈值计算

    1.其中Retinex算法具有的功能:动态范围压缩(即滤掉了低频部分,提取了高频).色调再现(即还有图像色彩):具有锐化.颜色恒常性.动态范围压缩大.色彩保真度高等特点.     从算法公式上的个人理 ...

  5. 十大经典排序算法及比较与分析 ( 动画演示 ) ( 可视化工具 )

    可视化工具及动画展示:旧金山大学 (usfca)|数据结构可视化工具 排序算法概念及描述:1.0 十大经典排序算法(文章部分内容引用自改文章) 参考:邓俊辉 的数据结构 本文未对排序算法概念进行详细说 ...

  6. 自然语言处理NLP星空智能对话机器人系列:第21章:基于Bayesian Theory的MRC文本理解基础经典模型算法详解

    自然语言处理NLP星空智能对话机器人系列: 第21章:基于Bayesian Theory的MRC文本理解基础经典模型算法详解 1,Bayesian prior在模型训练时候对Weight控制.训练速度 ...

  7. 【图像增强】基于matlab双边滤波retinex算法暗光图像增强【含Matlab源码 2305期】

    ⛄一.简介 1 Retinex 1.1 理论 Retinex理论始于Land和McCann于20世纪60年代作出的一系列贡献,其基本思想是人感知到某点的颜色和亮度并不仅仅取决于该点进入人眼的绝对光线, ...

  8. 一文搞定十大经典排序算法

    更多内容关注公众号:SAP Technical 一.排序算法概述 1.定义 将杂乱无章的数据元素,通过一定的方法按关键字顺序排列的过程叫做排序. 2.分类 十种常见排序算法可以分为两大类: 非线性时间 ...

  9. 十种经典排序算法精粹(c语言版本)

    下面给出这段时间我苦心研究验证过的十种经典排序算法的C语言版本,即下面的排序算法: 插入排序,shell排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,桶排序,基数排序和计数排序.整理出来以作备 ...

  10. C语言100个经典的算法

    POJ上做做ACM的题 语言的学习基础,100个经典的算法 C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法 题目:古典问题:有一对兔子,从出生 ...

最新文章

  1. [css]我要用css画幅画(四)
  2. Cisco 交换机密码重置步骤
  3. qfile指定从多少行开始_大牛进化路上之Linux基础命令,看看你了解多少?
  4. 盘点那些让程序员目瞪口呆的奇葩Bug,最后一个什么梗
  5. Python 开发学习路线
  6. hdu acm 1016
  7. mac使用fish的时候添加可执行文件路径
  8. 明解c语言入门篇第三版第九章答案,明解C语言 入门篇 第一章答案
  9. 网络攻防实战研究 漏洞利用与提权读书笔记二
  10. java学习第114天,p699-706(05/12),完成QQ群发
  11. 网红品牌终将祛魅,而伊利、康师傅这些老司机们却仍然历久弥新
  12. H5移动端出生日期插件
  13. 以华为公司为例的我国业务流程管理实践研究
  14. STM32学习笔记1:STM32ZET6配置蓝牙模块
  15. Java多个文件根据URL下载后打包zip导出
  16. RTK ? PPK ?到底该选啥
  17. 在苹果MAC OS X Lion系统上使用Outlook for MAC 2011配置Exchange邮箱
  18. 贴吧顶贴php脚步,【技术贴安卓按键精灵】贴吧顶贴脚本源码分享
  19. 计算机投标书开题报告,投标书开题报告.doc
  20. Java快速入门到精通— Java break语句详解

热门文章

  1. 算法设计与分析-动态规划
  2. 最新PyCharm2018破解教程
  3. 有趣的逻辑较量——《啊哈C语言》更新开始
  4. H5使用OCR身份证识别
  5. pass样本量_基于PASS两样本均数比较的样本量计算
  6. 如何让firefox用上bing网页翻译
  7. webstorm+node之debug
  8. oracle mysql认证考试流程_Oacle认证考试:Oracle移植到MySQL注意事项
  9. 数据元和元数据的区别
  10. 附合导线坐标计算例题_闭合附合导线计算(建筑工程测量课本习题)