msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)

视网膜-大脑皮层(Retinex)理论认为世界是无色的,人眼看到的世界是光与物质相互作用的结果,也就是说,映射到人眼中的图像和光的长波(R)、中波(G)、短波(B)以及物体的反射性质有关

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第1张图片

其中I是人眼中看到的图像,R是物体的反射分量,L是环境光照射分量,(x, y)是二维图像对应的位置

基于上面的原理,看下Retinex常见的几种增强算法

一、SSR(Single Scale Retinex)单尺度Retinex算法

它通过估算L来计算R,具体来说,L可以通过高斯模糊和I做卷积运算求得,用公式表示为:

1f8d6104d9f52ef6a1c0d015c58f1f0c.png

其中F是高斯模糊的滤波器,“ * ”表示卷积运算

5edb5c797cf5b5e5b35feb23690bbfa2.png

其中σ称为高斯周围空间常数(Gaussian Surround Space Constant),也就是算法中所谓的尺度,对图像处理有比较大的影响,对于二维图像

fd2cdd23dddcba12fbc99d31e6037099.png对应于图像中位置,即:

acb9d47cd82d5cc51e94ab8855912820.png

因此,这个算法的思路就可以归结为以下几步:

1、输入: 原始图像数据I(x,y),尺度(也就是高斯函数中的σ)

2、①计算原始图像按指定尺度进行模糊后的图像 L(x,y);

②按照log(R)=log(I)-log(L)公式的计算方法计算出 Log[R(x,y)]的值

③将 Log[R(x,y)]量化为0到255范围的像素值,作为最终的输出,量化公式:R(x,y) = ( Value - Min ) / (Max - Min) * (255-0)(注:无需将Log[R(x,y)]进行Exp函数的运算,而是直接利用Log[R(x,y)]进行量化,即上述公式中的value值)

代码如下:

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第2张图片

效果图(左边是原图,右边是SSR效果图):(其中σ=300,即代码中的sigma=300)

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第3张图片 

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第4张图片

二、MSR(Multi-Scale Retinex)多尺度Retinex算法

多尺度视网膜增强算法(MSR, Multi-Scale Retinex),最为经典的就是3尺度的,大、中、小,既能实现图像动态范围的压缩,又能保持色感的一致性较好。基于单尺度Retinex算法,多尺度Retinex算法描述如下:

1、需要对原始图像进行每个尺度的高斯模糊,得到模糊后的图像Li(x,y),其中小标i表示尺度数。

2、对每个尺度下进行累加计算  Log[R(x,y)] =  Log[R(x,y)] + Weight(i)* ( Log[Ii(x,y)]-Log[Li(x,y)]);  其中Weight(i)表示每个尺度对应的权重,要求各尺度权重之和必须为1,经典的取值为等权重。

如果尺度数为3,则:W1=W2=W3=1/3

代码如下:

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第5张图片

效果图(左边是原图,中间是SSR效果图,右边是MSR效果图)

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第6张图片 

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第7张图片 

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第8张图片

三、MSRCR(Multi-Scale Retinex with Color Restoration)具有色彩恢复的多尺度Retinex算法

在前面的增强过程中,图像可能会因为增加了噪声,而使得图像的局部细节色彩失真,不能显现出物体的真正颜色,整体视觉效果变差。针对这一点不足,MSRCR在MSR的基础上,加入了色彩恢复因子C来调节由于图像局部区域对比度增强而导致颜色失真的缺陷.

先看一组公式:

RMSRCR(x,y)'=G⋅RMSRCR(x,y)+b

RMSRCR (x,y)=C(x,y)RMSR(x,y)

C(x,y)=f[I'(x,y)]=f[I(x,y)/∑I(x,y)]Ci(x,y)=f[Ii′(x,y)]=f[Ii(x,y)∑j=1NIj(x,y)]

f[I'(x,y)]=βlog[αI'(x,y)]=β{log[αI'(x,y)]−log[∑I(x,y)]}

如果是灰度图像,只需要计算一次即可,如果是彩色图像,如RGB三通道,则每个通道均需要如上进行计算

G表示增益Gain(一般取值:5)

b表示偏差Offset(一般取值:25)

I (x, y)表示某个通道的图像

C表示某个通道的彩色回复因子,用来调节3个通道颜色的比例;

f(·)表示颜色空间的映射函数;

β是增益常数(一般取值:46);

α是受控制的非线性强度(一般取值:125)

MSRCR算法利用彩色恢复因子C,调节原始图像中3个颜色通道之间的比例关系,从而把相对较暗区域的信息凸显出来,达到了消除图像色彩失真的缺陷。 处理后的图像局部对比度提高,亮度与真实场景相似,在人们视觉感知下,图像显得更加逼真;但是MSRCR算法处理图像后,像素值一般会出现负值。所以从对数域r(x, y)转换为实数域R(x, y)后,需要通过改变增益Gain,偏差Offset对图像进行修正。

另外:介绍下什么是颜色的简单白平衡(simplest Color Balance)

白平衡的意思就是:是图片中最亮的部分为白色,最暗的部分为黑色。其余部分进行拉伸

简单的说就是:在RGB三通道上分别统计每个像素值的出现次数。将1%的最大值和最小值设置为255和0。其余值映射到(0,255),这样使得每个值通道的值在RGB中分布较均匀。达到颜色平衡的结果

MSRCR代码如下:

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第9张图片

效果图(左上:原图,右上:SSR,左下:MSR,右下:MSRCR)

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第10张图片   

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第11张图片

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第12张图片    

msrcr图像增强算法 matlab,图像处理之Retinex增强算法(SSR、MSR、MSRCR)_第13张图片

作为一枚技术小白,写这篇笔记的时候参考了很多博客论文,在这里表示感谢,同时,未经同意,请勿转载....

关于Retinex图像增强算法的一些新学习。

最近再次看了一下IPOL网站,有一篇最近发表的文章,名字就是Multiscale Retinex,感觉自己对这个已经基本了解了,但还是进去看了看,也有一些收获,于是抽空把他们稍微整理了下,原始文章及其 ...

基于Matlab的MMSE的语音增强算法的研究

本课题隶属于学校的创新性课题研究项目.2012年就已经做完了,今天一并拿来发表.   目录: --基于谱减法的语音信号增强算法..................................... ...

【红外DDE算法】数字细节增强算法的缘由与效果(我对FLIR文档详解)

[红外DDE算法]数字细节增强算法的缘由与效果(我对FLIR文档详解) 1. 为什么红外系统中图像大多是14bit(甚至更高)?一个红外系统的性能经常以其探测的范围来区别,以及其对最小等效温差指标.首 ...

Atitit 图像处理30大经典算法attilax总结

Atitit 图像处理30大经典算法attilax总结 1. 识别模糊图片算法2 2. 相似度识别算法(ahash,phash,dhash)2 3. 分辨率太小图片2 4. 横条薯条广告2 5. 图像 ...

Retinex图像增强算法代码

http://www.cnblogs.com/sleepwalker/p/3676600.html?utm_source=tuicool http://blog.csdn.net/carson2005 ...

Retinex图像增强算法

前一段时间研究了一下图像增强算法,发现Retinex理论在彩色图像增强.图像去雾.彩色图像恢复方面拥有很好的效果,下面介绍一下我对该算法的理解. Retinex理论 Retinex理论始于Land和M ...

retinex图像增强算法的研究

图像增强方面我共研究了Retinex.暗通道去雾.ACE等算法.其实,它们都是共通的.甚至可以说,Retinex和暗通道去雾就是同一个算法的两个不同视角,而ACE算法又是将Retinex和灰度世界等白 ...

【20160924】GOCVHelper MFC增强算法(1)

//递归读取目录下全部文件(flag为r的时候递归)     void getFiles(string path, vector& files,string ...

机器学习之Adaboost (自适应增强)算法

注:本篇博文是根据其他优秀博文编写的,我只是对其改变了知识的排序,另外代码是中的.转载请标明出处及参考资料. 1 Adaboost 算法实现过程 1.1 什么是 Adabo ...

随机推荐

Hadoop多节点集群安装配置

目录: 1.集群部署介绍 1.1 Hadoop简介 1.2 环境说明 1.3 环境配置 1.4 所需软件 2.SSH无密码验证配置 2.1 SSH基本原理和用法 2.2 配置Master无密码登录所有 ...

Sending e-mail

E-mail functionality uses the Apache Commons Email library under the hood. You can use theplay.libs. ...

C#使用COM搜索本地word文档关键字

/// /// 检索根目录下的子目录及其所有文件,并在datagridview中显示文档名称及路径--递归调用 /// /// < ...

扩展ToolBarManager、ListView和Grid控件以实现气球式的ToolTip

原文:扩展ToolBarManager.ListView和Grid控件以实现气球式的ToolTip infragistics是全球领先的UI工具和用户体验的专家,Infragistics开发了一系列的 ...

CAReplicatorLayer复制Layer和动画, 实现神奇的效果

今天我们看下CAReplicatorLayer, 官方的解释是一个高效处理复制图层的中间层.他能复制图层的所有属性,包括动画. 一样我们先看下头文件 @interface CAReplicatorLa ...

OpenCV绘制图像中RGB三个通道的直方图

一开始是看这本书学做直方图,但是书本里说直方图的部分只详细说了黑白图像(单通道)的直方图绘制方法,RGB图像的直方图只说了如何计算,没有说计算完 ...

迅为-i.MX6Q核心板_四核工业级

飞思卡尔Freescale Cortex A9 四核处理器处理器:CPU Freescale Cortex-A9 四核 i.MX6Q,主频 1.2 GHz 核心板工艺:十层设计,沉金工艺基本参数:内存 ...

FB01与F-02的区别(转载)

FB01与F-02的区别(转载) FB01 : a) ''Post Document'' b) No doc type as SA automatically comes. c) No automat ...

django默认后台使用

1.初始化数据python manage.py migrate 2.创建超级用户python manage.py createsuperuser 然后按照提示输入就可以了 3.admin管理页面找不到 ...

第5章—构建Spring Web应用程序—SpringMVC详解

SpringMVC详解 5.1.跟踪Springmvc的请求 SpringMVC的核心流程如下: 具体步骤: 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求 ...

你可能感兴趣的:(msrcr图像增强算法,matlab)