无异于种植强化的基于局部直方图裁剪均衡化的针对性比度调节算法。一栽强化的冲局部直方图裁剪均衡化的针对比度调节算法。

  在雅久前落实对比度受限的自适应直方图均衡化时,就都想过对拖欠算法进行一定水平之扩大,之后以电动对比度和自动色阶代替直方图均衡化也提出了初的算法,也达到了正确的功能。本文进一步对拖欠算法进行定程度的恢弘以及加优化。

  以好久前实现对比度受限的从适应直方图均衡化时,就已想了对该算法进行自然程度之恢弘,之后用机动对比度和自动色阶代替直方图均衡化也提出了新的算法,也高达了是的法力。本文进一步对该算法进行一定水准之扩充及补偿优化。

无异于、本文算法的概述

相同、本文算法的概述

  根据选取的优化的品位以及垂直网格数,将图像切分成一个一个底子块,然后统计每个子块的直方图信息,并跟原图整体的直方图信息进行某种混合,对于彩色图像,为了避免不同通道中处理后转过于不谐和,还增加了各个通道直方图与亮度通道直方图的消息合成,然后对合成后底直方图进行直方图裁剪和均衡化的,获取各子块新的映照直方图,为了避免新的映射表中的数额发生比生之奇点或噪音,对映射表的多寡进行多点取样,然后下样条插值算法对取样点展开插值,或者对新的映射表进行自然程度之高斯模糊,得到同布置较为平缓的映射表。最后用类似CLAHE算法中之双线性插值对每个子块之间的映射表进行插值得到新的诸如素值。本方法计算量小,速度迅猛,对映射表进行平整插值或高斯模糊能管用之抑制对比度调整时发出的噪音,防止了音信的过分放开招图片失真,是同一栽高效而职能突出的指向比度增强算法。

  根据选取的优化的品位以及垂直网格数,将图像切分成一个一个之子块,然后统计每个子块的直方图信息,并跟原图整体的直方图信息进行某种混合,对于彩色图像,为了避免不同通道内处理后变过于不和谐,还增加了各个通道直方图与亮度通道直方图的音讯合成,然后针对合成后的直方图进行直方图裁剪和均衡化的,获取各子块新的照直方图,为了避免新的映射表中之数据来比充分的奇点或噪音,对映射表的数开展多点取样,然后采用样条插值算法对取样点开展插值,或者对新的映射表进行得水准的高斯模糊,得到相同布置较为平缓的映射表。最后用类CLAHE算法中的双线性插值对每个子块之间的映射表进行插值得到新的比如素值。本方法计算量小,速度迅速,对映射表进行平整插值或高斯模糊能管用之抑制对比度调整时产生的噪声,防止了音之超负荷放大招图片失真,是一模一样种植高效又职能突出的指向比度增强算法。

仲、算法过程详解

亚、算法过程详解

  1、水平跟垂直网格数的确定

  1、水平及垂直网格数的规定

  类似于CALHE算法,对网格的成立选择也会见对本算法的结果有举足轻重之震慑,过多之网格数会使得计算量显著加大,过少之网格数使得结果趋于接近整体的直方图均衡化,一般景象下,可选8*8单网格,这里可以通过以下规则来简单的开只优化:图像的亮度的均方差越聊,即整幅图像的明暗比较平,使用于多之网格数,比如8*8,否则用比较少的网格,比如4*4。这是盖当图像明暗较为一致时,各小片的直方图数据差异不见面怪死,而而明暗不雷同,选择于小的丘,各块之间的直方图信息差异或蛮十分,会造成插值时出现鲜明的缺点。

  类似于CALHE算法,对网格的客体选择也会见针对本算法的结果产生主要之熏陶,过多的网格数会令计算量显著加大,过少之网格数使得结果趋于接近整体的直方图均衡化,一般情形下,可卜8*8个网格,这里可以经过以下标准来大概的举行个优化:图像的亮度的均方差越小,即整幅图像的明暗比较平,使用于多之网格数,比如8*8,否则用于少之网格,比如4*4。这是因当图像明暗较为一致时,各小片的直方图数据差异不见面那个要命,而设明暗不等同,选择比较小的块,各块之间的直方图信息差异或怪老,会招致插值时出现显著的老毛病。

   
2、按规定之网格数划分图像,并得到每块的直方图信息HistB,HistG,HistR。

   
2、按规定的网格数划分图像,并收获每块的直方图信息HistB,HistG,HistR。

 
3、获取全图的直方图数据HistgramB,HistgramG,HistgramR以及亮度直方图HistgramL。

 
3、获取全图的直方图数据HistgramB,HistgramG,HistgramR以及亮度直方图HistgramL。

       其中亮度定义也:  Lightness =
(R*19595 + G*38469 + B*7472) >> 16

       其中亮度定义为:  Lightness =
(R*19595 + G*38469 + B*7472) >> 16

   
4、对子块直方图和全局直方图进行融合,如下代码所示:

   
4、对子块直方图和大局直方图进行融合,如下代码所示:

HistB[Index] = (HistB[Index] * Adaptation + (100 - Adaptation) * HistgramB[Index]) / 100;
HistG[Index] = (HistG[Index] * Adaptation + (100 - Adaptation) * HistgramG[Index]) / 100;
HistR[Index] = (HistR[Index] * Adaptation + (100 - Adaptation) * HistgramR[Index]) / 100;
HistL[Index] = (HistL[Index] * Adaptation + (100 - Adaptation) * HistgramL[Index]) / 100;
HistB[Index] = (HistB[Index] * Adaptation + (100 - Adaptation) * HistgramB[Index]) / 100;
HistG[Index] = (HistG[Index] * Adaptation + (100 - Adaptation) * HistgramG[Index]) / 100;
HistR[Index] = (HistR[Index] * Adaptation + (100 - Adaptation) * HistgramR[Index]) / 100;
HistL[Index] = (HistL[Index] * Adaptation + (100 - Adaptation) * HistgramL[Index]) / 100;

  其中Adaptation为生死与共因子,其行之有效限制为[0,100],当取值越小时,全局直方图其主导作用,效果尤其接近一般的直方图均衡。

  其中Adaptation为生死与共因子,其行限制吗[0,100],当取值越小时,全局直方图其主导作用,效果更是接近一般的直方图均衡。

  5、对上述融合后底结果再行与亮度直方图进行融合,融合进程如下所示:

  5、对上述融合后的结果还与亮度直方图进行融合,融合进程如下所示:

HistB[Index] = (HistB[Index] * Correction + (100 - Correction) * HistL[Index]) / 100;
HistG[Index] = (HistG[Index] * Correction + (100 - Correction) * HistL[Index]) / 100;
HistR[Index] = (HistR[Index] * Correction + (100 - Correction) * HistL[Index]) / 100;
HistB[Index] = (HistB[Index] * Correction + (100 - Correction) * HistL[Index]) / 100;
HistG[Index] = (HistG[Index] * Correction + (100 - Correction) * HistL[Index]) / 100;
HistR[Index] = (HistR[Index] * Correction + (100 - Correction) * HistL[Index]) / 100;

   其中Correction为颜色校正因子,其行限制吗[0,100],当取值越老时,各通道中更独立,效果更接近一般的直方图均衡。

   其中Correction为颜色校正因子,其行之有效限制也[0,100],当取值越老时,各通道内愈加独立,效果越来越接近一般的直方图均衡。

  上述代码中Index表示直方图色阶的目录范围,有效值[0,Bins
– 1],Bins为直方图的数量,8各项时也256。

  上述代码中Index表示直方图色阶的目录范围,有效值[0,Bins
– 1],Bins为直方图的数额,8位时为256。

  6、按照CALHE的艺术对直方图进行裁剪,之后对裁剪的直方图进行均衡化得到每个微片的映射表。

  6、按照CALHE的法子对直方图进行裁剪,之后对裁剪的直方图进行均衡化得到每个微片的映射表。

  7、局部均衡化后映射表的平。

  7、局部均衡化后映射表的平滑。

    1)  将映射表的
Bins取K等客,得到各国等客数据对应之映照表值,构成K个二维坐标点序列,亦足因直方图的凡数据,把一起数据平均分为K等分,得到K个二维序列点。

    1)  将映射表的
Bins取K等卖,得到各级等卖数据对应的映射表值,构成K个二维坐标点序列,亦足根据直方图的总共数量,把总计数量平均分为K等分,得到K个二维序列点。

    2)根据K个二维坐标点,使用样条插值算法拟合出同样长条过各个取样点的平滑映射曲线。

    2)根据K个二维坐标点,使用样条插值算法拟合出同样漫漫过各个取样点的平滑映射曲线。

    3)在平滑曲线表中取0至于Bins丁各色阶对应的插值结果,作为新的映射表结果。

    3)在平滑曲线表中取0至于Bins面临各色阶对应之插值结果,作为新的映射表结果。

     对于Bins
=256之图像,K值建议可取32横。

     对于Bins
=256的图像,K值建议可取32左右。

    或者另外一栽处理方式就是指向映射表进行一维趋势的均值或者高斯平滑,平滑窗口可选WindowSize
= 7左右。

    或者另外一种植处理方式就是针对映射表进行一维样子的均值或者高斯平滑,平滑窗口可选WindowSize
= 7左右。

  这种平滑可以带动一定的便宜,特别是对图像变换比较平和的区域,能够当早晚水准上削弱由于增强带来的色块感觉,而且这种办法加大到具有因直方图增强技术之算法中。

  这种平滑可以带动一定的补益,特别是对图像变换比较平和的区域,能够在得水平上削弱由于增强带来的色块感觉,而且这种方式拓宽及具备因直方图增强技术之算法中。

  8、按照CLAHE算法的长河对每个微片进行双线性插值得到最终的增高力量,当然对第一推行、第一排列、最后一履行、最后一排的子块靠近图像边缘之那一半且只使用映射表单个方向的线性插值,而这些子块的另外组成部分以及其它子块均运用映射表双线性插值获得最后结出。

  8、按照CLAHE算法的过程对每个微片进行双线性插值得到终极之加强力量,当然对第一履行、第一排列、最后一执行、最后一排的子块靠近图像边缘的那么一半且不过下映射表单个方向的线性插值,而这些子块的外一些及另外子块均采用映射表双线性插值获得最终结果。

     
 如果输入图像是灰度图,由于单独发生一个坦途,则本算法中之Correction在此场景中是只是放弃的。

     
 如果输入图像是灰度图,由于单独发一个坦途,则本算法中之Correction在此场景中是不过放弃的。

  整个经过的流程框图如下所示:

  整个过程的流程框图如下所示:

                           
 365足球外围 1

                           
 365足球外围 2

 

 

     
 三、测试结果

     
 三、测试结果

产图也未经过处理的本来图像,可见原始图中针对比度很不同,图像的底细信息充分少,图像饱和度也特别不同。右侧是利用本算法后处理的功用图,处理后图像饱和度自然,色彩鲜艳,隐藏于原图右侧的片不得易见的细节呢会明了的显得出。

生图为免通过处理的本来面目图像,可见原始图中对比度很不同,图像的细节信息非常少,图像饱和度也生不同。右侧是使用本算法后甩卖的成效图,处理后图像饱和度自然,色彩鲜艳,隐藏在原图右侧的片不可易见的底细也能领略的显示起。

365足球外围 3 
         365足球外围 4

365足球外围 5 
         365足球外围 6

                  原始图像                                
          Adaptation = 50,Correction = 50, ClipLimit =
20时之作用

                  原始图像                                
          Adaptation = 50,Correction = 50, ClipLimit =
20时底功效

365足球外围 7 
        365足球外围 8

365足球外围 9 
        365足球外围 10

              Adaptation =
0,Correction = 50, ClipLimit = 20时底力量                            
                                                         Adaptation =
100,Correction = 50, ClipLimit = 20时底效应

              Adaptation =
0,Correction = 50, ClipLimit = 20时底法力                            
                                                         Adaptation =
100,Correction = 50, ClipLimit = 20时底作用

365足球外围 11 
       365足球外围 12

365足球外围 13 
       365足球外围 14

         Adaptation =
50,Correction = 0, ClipLimit =
20时底职能                         Adaptation =
50,Correction = 100, ClipLimit = 20时的效能

         Adaptation =
50,Correction = 0, ClipLimit =
20时的效力                         Adaptation =
50,Correction = 100, ClipLimit = 20时之力量

   
 下面作图是另外一可未经处理的图像,这可图像信息较完好,色彩为较为丰富,但是经过本算法处理后,得到的结果图(右图)则显示尤为惊艳和灿烂,因此对此健康的图像,本算法也保有较强的实用性。

   
 下面作图是另外一切未经处理的图像,这契合图像信息较完好,色彩为较丰富,但是透过本算法处理后,得到的结果图(右图)则显得尤为惊艳和灿烂,因此对正规的图像,本算法也装有比强的实用性。

 365足球外围 15     
  365足球外围 16

 365足球外围 17     
  365足球外围 18

  特别强调,该算法不恰当处理人脸图像。

  特别强调,该算法不适当处理人脸图像。

     
 该算法难以使用SSE优化,我在设想是不是还有其它办法优化。速度达1080P的彩图大约30ms可以搞定。

     
 该算法难以使用SSE优化,我在设想是不是还有其它方式优化。速度直达1080P的彩图大约30ms可以搞定。

     
 测试工程的地址:http://files.cnblogs.com/files/Imageshop/SSE_Optimization_Demo.rar

     
 测试工程的地点:http://files.cnblogs.com/files/Imageshop/SSE_Optimization_Demo.rar

365足球外围 19

365足球外围 20

      写博不易,欢迎点赞或者打赏。

      写博不易,欢迎点赞或者打赏。

365足球外围 21

365足球外围 22

相关文章