码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-06-27 14:43:17      阅读:1410      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   http   color   com   

  最近再次看了一下IPOL网站,有一篇最近发表的文章,名字就是Multiscale Retinex,感觉自己对这个已经基本了解了,但还是进去看了看,也有一些收获,于是抽空把他们稍微整理了下,原始文章及其配套代码详见:http://www.ipol.im/pub/art/2014/107/

      之前在我的 带色彩恢复的多尺度视网膜增强算法(MSRCR)的原理、实现及应用 一文中已经较为详细的描述了Multiscale Retinex的基本原理和应用,这里就不再做过多的说明。为表述方便,还是贴出其基本的计算原理:

    bubuko.com,布布扣

  上式中,I为原始输入图像,F是滤波函数,一般为高斯函数,N为尺度的数量,W为每个尺度的权重,一般都为1/N, R表示在对数域的图像的输出。

  由于R是对数域的输出,要转换为数字图像,必须将他们量化为[0,255]的数字图像范畴,关于这个量化的算法,有这极为重要的意义,他的好坏直接决定了最终输出的图像的品质。

  目前,结合上述文章中提出的一些过程,有4种方式进行处理:

  第一种,也是最容易想到的就是,直接线性量化,即采用下式进行处理:

       bubuko.com,布布扣

  这种方式,由于Retinex数据处理后的高动态特性,数据分布很广,会出现严重的两极化现象,一般难以获得满意的结果。

  第二种,就是在经典的MSRCR文章《A Multiscale Retinex for Bridging the Gap Between Color Images and the Human Observation of Scenes》中提出的Canonical Gain/O?set 算法。计算公式如下:

         bubuko.com,布布扣    

  其中G和b为经验参数。

  第三种,实在上述文章中提到的Simplest Color Balance(我简写为SCR)方式,这种方式的处理类似于Photoshop中的自动色阶,他把数据按照一定的百分比去除最小和最大的部分,然后中间的部分重新线性量化到0和255之间。

  第四种,就是GIMP的Retinex算法,这个可详见 带色彩恢复的多尺度视网膜增强算法(MSRCR)的原理、实现及应用 一文的描述。

  还有一种方式,就是大家知道HDR的过程吧,他也是将高动态的数据量化到图像的可视范围,因此可以直接将这类算法应用与这个问题上。我也做了实验,效果似乎一般。

  在用第二种或第三种方式处理时,最好还需要有个Color Restoration的过程,因为如果直接对MSR处理的结果进行量化,得到的图像往往整体偏灰度,这是由于原始的彩色值经过log处理后的数据范围就比较小了,这样各通道之间的差异也很小,而之后的线性量化比log曲线要平滑很多,因此整体就丧失了彩色。

  论文中提出了修正方式如下:

          bubuko.com,布布扣

          bubuko.com,布布扣

          bubuko.com,布布扣

 

   其中β=46,α=125为经验参数,但是最终我的分析认为β不可能取这么大,取1试验表明效果还不错。

   对于一些原始图像HUE较为合理的图,如果用经典的MSRCR算法,会导致处理后的图容易偏色,上述论文提出了对图像的Intensity数据进行Retinex处理,然后再把数据根据原始的RGB的比例映射到每个通道,这样就能在保留原始颜色分布的基础上增强图像,文章中称其为MSRCP。

  这个算法的编码论文的附带代码里已经有了很好的例子了,其实真是很简单的工作,需要的朋友自己去参考。

  我自己做了5种算法的比较,分别是:

      MSRCRGIMP    -    Gimp内嵌的Retinex增强算法

      MSRCRStandard  -    按照《A Multiscale Retinex ....  the Human Observation of Scenes》一文写的算法,其中G=30,B=-6,β=1,α=125

      MSRCRSCR      -          使用Color Restoration + Simplest Color Balance算法量化得到的结果

        MSRCPSCR      -          使用Intensity数据 + Simplest Color Balance算法量化得到的结果

      MSRHSV      -    对HSV空间的V分量进行(用的SCR量化)Retinex处理并返回RGB空间后的结果

  他们的效果比较如下:

bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣

        original                         MSRCRGIMP                                   MSRCRStandard

bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣

           MSRCRSCR                        MSRCPSCR                        MSRHSV

bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣

        original                           MSRCRGIMP                                MSRCRStandard

bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣

       MSRCRSCR                            MSRCPSCR                        MSRHSV

bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣

        original                           MSRCRGIMP                                MSRCRStandard

bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣

         MSRCRSCR                            MSRCPSCR                        MSRHSV  

  孰好孰坏给位自己去斟酌吧。

  算法效果测试:http://files.cnblogs.com/Imageshop/Retinex%E7%BB%BC%E5%90%88.rar

 

  很久没有写博客了,其实也没有江郎才尽的感觉,就是呢没有想写的冲动。现在写也无以前那么认真了,感觉就是像计流水账一样。算了,记账就记账吧。

 

****************************基本上我不提供源代码,但是我会尽量用文字把对应的算法描述清楚或提供参考文档************************

*************************************因为靠自己的努力和实践写出来的效果才真正是自己的东西,人一定要靠自己*******************

****************************作者: laviewpbt   时间: 2014.6.26    联系QQ:  1664462947  转载请保留本行信息********************

 

 

关于Retinex图像增强算法的一些新学习。,布布扣,bubuko.com

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

标签:style   class   blog   http   color   com   

原文地址:http://www.cnblogs.com/Imageshop/p/3810402.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!