水下图像增强相关算法的3个简短小结。

  • HSV拉升未能达到随想中的效果。 

 
 图片 1 
  图片 2

     
 由此,那些算法的处理结果的好坏性完全在于融合的靶子,即五个前处清理计算法。然则同样存在的标题正是算法的广泛适应性,某壹种前处理对某①类合适,对任何的就不必然了。

         
 图片 3

 
 图片 4 
  图片 5

  可知处理后的直方图已尽量向带匹配的形式贴近,但不或然完全平等。

     
 作者那边通过1些实验,也提出1种前处清理计算法,这一个算法的功用能够在GIMP的水彩–》自动–》色调均化中看到。

   
融合那种处理格局确实二个值得推广的想法,由此那篇杂文才会变成二〇一二的CVPCRUISER散文之1的。

  gimp的代码看起来十一分晦涩的,可是实际上上述算法要描述的意思不会细小略,就是本人希望自个儿调动后的图像的直方图在各样色阶上的遍布可能率都是同样的。其实那一个历程就能够用作是直方图规定化的3个历程,举例如下:

     
这篇杂文对算法部分的叙说依然过于简单,即便比较度拉升给了个公式,但并从未驾驭的表达S和I分量的切实处理流程,他给的两篇参考文献对应的网址也不知道该咋做打开了,因此不可能对原本的算法举办求证,作者用GIMP的比较度拉升

 

        原图B/G/景逸SUV对应的直方图          
                   待匹配的直方图                 
 处理后的直方图

     
就笔者看得几篇文章而言,那类算法都不是从原理上、或然说某叁个数学模型、抑或是某种先验知识出发,而提议的算法,都以一种未有何特强的驳斥支撑,只是经过有些其实的调查而得到的片段进度而已。那一个经过对于散文本人中提供的测试图像都独具较为理想的拍卖效用,而只要接纳一副别的品质的水下图像,其结果往往难以令人满意。因而,也就不曾类似于去雾算法界暗通道先验那样不可逾越的金子小说了。

     图片 6   
 图片 7

   
 很简单的步调,首先是展开比较度拉升,能够作为是近乎于PS中的自动相比度,接着将处理后的图像转换成HSI颜色空间,在对S和I分量进行拉升,之后再将HSI空间的多寡转换来汉兰达GB空间得到终极的图像。在百度上查找哪个人下图像增强,能检索到2个连锁的专利,见http://www.google.com/patents/CN102930512A?cl=zh,这一个专利的情节其实也没啥新意,壹样的正是在HSI空间将S和I分量用别样的章程实行了拉升和拍卖,依旧发明专利,呵呵,我们都知情国内专利是怎么回事。

   
 用那个历程处理了几幅诗歌中带的水下图像,效果如下:

  近来直接未曾找到感兴趣的探究课题,下了多少个新型的去雾的故事集,随便看了下,觉得都是为了写故事集而做的杂文,没有怎么创新性,也就未有想法去贯彻他们。偶尔看看了有些关于水下图像增强方面包车型地铁稿子,闲来无聊试着去探访效果,可是也认为卓殊令人失望,就如并不曾越发实用的算法。

static void
equalize_lut_setup (GimpLut       *lut,
                    GimpHistogram *hist,
                    gint           n_channels)
{
  gint            i, k, j;
  hist_lut_struct hlut;
  gdouble         pixels_per_value;
  gdouble         desired;
  gdouble         sum, dif;

  g_return_if_fail (lut != NULL);
  g_return_if_fail (hist != NULL);

  /* Find partition points */
  pixels_per_value = gimp_histogram_get_count (hist,
                                               GIMP_HISTOGRAM_VALUE,
                                               0, 255) / 256.0;

  for (k = 0; k < n_channels; k++)
    {
      /* First and last points in partition */
      hlut.part[k][0]   = 0;
      hlut.part[k][256] = 256;

      /* Find intermediate points */
      j   = 0;
      sum = (gimp_histogram_get_channel (hist, k, 0) +
             gimp_histogram_get_channel (hist, k, 1));

      for (i = 1; i < 256; i++)
        {
          desired = i * pixels_per_value;

          while (sum < desired && j < 256)
            {
              j++;
              sum += gimp_histogram_get_channel (hist, k, j + 1);
            }

          /* Nearest sum */
          dif = sum - gimp_histogram_get_channel (hist, k, j);

          if ((sum - desired) > (dif / 2.0))
            hlut.part[k][i] = j;
          else
            hlut.part[k][i] = j + 1;
        }
    }

  gimp_lut_setup (lut, (GimpLutFunc) equalize_lut_func, &hlut, n_channels);
}

void
gimp_lut_setup (GimpLut     *lut,
                GimpLutFunc  func,
                void        *user_data,
                gint         nchannels)
{
  guint   i, v;
  gdouble val;

  if (lut->luts)
    {
      for (i = 0; i < lut->nchannels; i++)
        g_free (lut->luts[i]);

      g_free (lut->luts);
    }

  lut->nchannels = nchannels;
  lut->luts      = g_new (guchar *, lut->nchannels);

  for (i = 0; i < lut->nchannels; i++)
    {
      lut->luts[i] = g_new (guchar, 256);

      for (v = 0; v < 256; v++)
        {
          /* to add gamma correction use func(v ^ g) ^ 1/g instead. */
          val = 255.0 * func (user_data, lut->nchannels, i, v/255.0) + 0.5;

          lut->luts[i][v] = CLAMP (val, 0, 255);
        }
    }
}

    图片 8   
 图片 9 
  图片 10

       作者看了三篇小说,第3篇是Underwater
Image Enhancement Using an Integrated Colour
Model,0柒年的篇章,算法的细路一点也不细略,借用小说中的壹副流程图来表达下:

    图片 11   
 图片 12   
 图片 13

                     原  图      
                                                           
处理后的图

 
 图片 14 
  图片 15

     
 纵然GIMP是一个近似PS的软件,但两岸的色泽均化效果完全两样,查看GIMP的代码就能知晓这是怎么了,小编那里贴出GIMP的那么些算法的着力代码部分:

    图片 16   
 图片 17   
 图片 18

 图片 19

*********************************小编:
laviewpbt   时间: 201四.肆.陆   联系QQ:  3318477柒 转载请保留本行音讯************************

     
 其实那种经过融合的点子也很简短,便是先找三种算法得到对原图三种不一样水平的拉长的结果,然后选择好1个融合全面的总结公式,再实行拉普罗斯金字塔融合,从而提取更好的结果。Enhancing
Underwater Images and Videos by
Fusion那篇文章便是选择了白平衡的结果(记为I一)作为融合的目的1,
用对I一进行两岸滤波+CALHE之类的算法处理的结果(记为I二)作为融合的对象二。标准的拉普Russ融合的休戚与共算法一般有:最大值、最小值、平均值,那里则修改为某一种权重周全的万众一心,最终实行拉普鲁斯融合。

     
 第一篇和第三篇都是用的图像融合的格局来拍卖的,分别是Enhancing
Underwater Images and Videos by Fusion以及Effective Single Underwater
Image Enhancement by
Fusion,后壹篇是境内合工业大学和中中国科学技术大学的撰稿人写的,很显然可以看得出模仿的笔迹

    最终一幅图在Enhancing Underwater
Images and Videos by
Fusion一文中的效果是相当的厉害的,主假设矫枉过正的很当然,那个相应融合在其遵从吧。