直方图分析偏色本质,调出赏心悦目棕色花朵照

色阶5、直方图深入分析偏色本质 (载入中...) 色阶5、直方图剖析偏色本质附属类小部件

    在限定相比度自适应直方图均衡化算法原理、达成及职能一文中针对全局直方图均衡化的一对败笔,建议了分块的自适应均衡化手艺,很好的击溃了全局直方图均衡化的部分短处,对于图像加强也具有明显的效果,我们有些回想下CLAHE的算法流程,轻易的能够用下边包车型地铁历程描述:

原图资料有一些偏色,图片档期的顺序感不强。管理之前须求先轻巧修补图片的偏色,然后再调动颜色,具体色彩能够依照本人的喜好采用,调好色彩今后图片并不一定完美,还亟需修饰好细节部分。最后效果

2009-4-22 16:47

for each Tile in Image 
{
   Calcuate( HistGram);
   ClipHistGram(HistGram, ClipLimit);
   MakeMapping(HistGram);
}
for each Tile in Image 
    for each Pixel in Tile
        use bilinear interpolation between four adjacent HistGram info to generate new Pixel

图片 1

图片 2

   原始的直方图均衡化算法的着力在上述 MakeMapping(HistGram)函数中能够显示,

原图

void MakeMapping(int* Histgram)
{
    int I, Sum = 0, Amount = 0;
    for (I = 0; I < 256; I++) Amount += Histgram[I];
    for (I = 0; I < 256; I++)
    {
        Sum += Histgram[I];
        Histgram[I] = Sum * 255/ Amount;     // 计算分布
    }
}

图片 3

    上述Histgram[I] = Sum * 255/ Amount;   一句便是HE算法的主干,就直方图数据再次分布。

一、用Photoshop软件张开图片,复制图片,此原图乃作者所拍,纯属自娱自乐,呵呵。

    咱们想起一下PS的调节菜系,除了直方图均衡化是一键式菜单(即点击无可调参数分界面,实际上直翻图均衡化照旧局部,在有选区的意况下回弹出一个框),还会有别的几个常用的一键操作,即:自动色阶、自动相比度以及自动颜色。从实质上讲,那三个算法同直方图均衡化一样,在里边也是三个直方图再一次分布和像素重新照射的长河,由此,假若把那边的MakeMapping函数总映射进度替换他们三者中的某一种会是怎么意况和效果呢, 那实际是询问了CLAHE算法的规律后,很自然的能加大和联想到的。

二、观察图像,点开直方图,展开全部坦途视图,红绿通道直方图像两座高耸的山脉,色阶大部分会集在个中调部分,而蓝通道则是一边倒,图像偏暗偏黄,再看宝马7系GB通道,全体看来难题还不是太严重。

     关于机关色阶和机动相比较度的法规,笔者在调度图像- 自动相比度、自动色阶算法一文中早就有了相比详细的兑现,而关于机关颜色的规律,如今停止小编就如从未开掘有任哪个人对其张开了详实的解释。小编在Imageshop中也只是做了一种轻易的模仿,这里就不提了。

三、对图片张开校色,点开图层调板下方的黑白脸,选择可选颜色,设置如下。

     以电动色阶为例,上述MakeMapping函数的样式可能如下所示:

图片 4

void MakeMapping(int* Histgram,float CutLimit=0.01)
{
    int I, Sum = 0, Amount = 0;
    const int Level = 256;
    for (I = 0; I < Level; I++) Amount += Histgram[I];
    int MinB,MaxB;
    for (I = 0; I < Level; I++)
    {
        Sum = Sum + Histgram[I];
        if (Sum >= Amount * CutLimit )
        {
            MinB = I;                              
            break;
        }
    }  
    Sum = 0;
    for(I = Level-1; I >= 0; I--)
    {
        Sum = Sum +Histgram[I];
        if (Sum >= Amount * CutLimit )
        {
            MaxB = I ;                            
            break;
        }   
    }

    if (MaxB!=MinB)
    {
        for (I = 0; I < Level; I++)
        {
            if (I<MinB)
                Histgram[I] =0;
            else if(I>MaxB)
                Histgram[I]=255;
            else
                Histgram[I] = 255* (I - MinB) / (MaxB - MinB) ;     
        }
    }
    else
    {
        for (I = 0; I < Level; I++) Histgram[I]=MaxB;        //     必须有,不然会有一些图像平坦的部位效果出错
    }
}

图片 5

  注目的在于那个函数里本身扩展了CutLimit参数,那么些参数名和CLAHE的一律,实际上是因为电动色阶这种职业措施,便是对直方图的一种裁剪,由此CLAHE算法的ClipHistGram进度就可以舍去了,而把CutLimit作为活动色阶的贰个调整参数也是放任自流的多少个业务了。

图片 6

      在上述代码代码中,if (马克斯B!=MinB)的论断首借使防止出现除以0的荒谬,同一时间在这种情形产生时,必得把直方图中的所有数据都设置为马克斯B(其实这种情景爆发时,原始直方图数据中确定是超过四分之二都等于马克斯B,但大概照旧有部分是见仁见智的,如若不赋值为马克斯B,管理的结果图像中会出现莫明其妙的纹理图)。

图片 7

      把上述代码替换掉CLAHE算法中相应的一部分,保持插值等代码不动,可获取如下效果:

经过前边的调度后色阶向右迁移,图像的偏黄偏暗的情景也得以改进,部分细节也出示出来了。

     图片 8    图片 9

四、虽经过调节后色阶得以革新,但大多数分色阶高耸在中游调部位,为赶尽杀绝这种景观,接着实行亮度相比较度调节,收缩图像颜色相比较度,如图所示。 再观望直方图,高耸的色阶平缓了过多。

               原图                          块大小为200,CutLimit =0.01 处理后结果

图片 10

     由地方的图可以看看,管理前后的增进效用依然很显眼的,整个图像展现更清楚。

五、简单的较色之后,开首施行本课程主旨,进行色闽西山歌戏治,张开色彩平衡调板,设置如图。到这边结束图像显示出一种古典的紫褐。

     依照上述代码解析,那样管理的功用一定是本来图像中的黑的一部分更加黑,白的一部分更白,由此,比较度越发宣明。为了能操纵总体相比较度调整的品位,大家新增贰个参数,用来调治在结尾隐射阶段的最大值。笔者那边做了之类的处理:

图片 11

void MakeMapping(int* Histgram,float CutLimit=0.01,float Contrast = 1)
{
    int I, Sum = 0, Amount = 0;
    const int Level = 256;
    for (I = 0; I < Level; I++) Amount += Histgram[I];
    int MinB =0 ,MaxB=255;
    int Min = 0,Max=255;
    for (I = 0; I < Level; I++)
    {
        if  (Histgram[I]!=0) 
        {
            Min = I ;
            break;
        }
    }

    for(I = Level-1; I >= 0; I--)
    {
        if  (Histgram[I]!=0) 
        {
            Max = I ;
            break;
        }
    }
    for (I = 0; I < Level; I++)
    {
        Sum = Sum + Histgram[I];
        if (Sum >= Amount * CutLimit )
        {
            MinB = I;                              
            break;
        }
    }

    Sum = 0;
    for(I = Level-1; I >= 0; I--)
    {
        Sum = Sum +Histgram[I];
        if (Sum >= Amount * CutLimit )
        {
            MaxB = I ;                            
            break;
        }   
    }
    int Delta = (Max - Min) * Contrast * 0.5  ;
    Min = Min - Delta;
    Max = Max +    Delta ;
    if (Min    < 0) Min = 0;
    if (Max > 255) Max = 255;

    if (MaxB!=MinB)
    {
        for (I = 0; I < Level; I++)
        {
            if (I<MinB)
                Histgram[I] =Min;
            else if(I>MaxB)
                Histgram[I]=Max;
            else
                Histgram[I] = (Max-Min)* (I - MinB) / (MaxB - MinB) + Min ;     
        }
    }
    else
    {
        for (I = 0; I < Level; I++) Histgram[I]=MaxB;        //     必须有,不然会有一些图像平坦的部位效果出错
    }
}

   首先深入分析获得原始块中的最大值和微小值,然后再那几个的底子上坚守设定的参数向黑和白七个趋势一致水平扩大,那样就制止了不管什么景况下的分布都一向扩充到0-255内。有效的压迫了噪音的加大。

  修改后,大家看看一些成效:

图片 12图片 13图片 14

           原图                      CutLimit =0.01,Contrast=1                    CutLimit =0.05,Contrast=1

    剖析:上边那幅图原来图像全部就相比较亮,因而,在Contrast=1的时候,比比较多块调治后的Min=0,马克斯也也就是255了,因而继续增加Contrast参数,图像的成效基本未有啥变动了。而充实CutLimit值使得图像的映射表由八个最棒向中档靠拢,图像会稍微显得浓烈一些。

图片 15图片 16图片 17

       原图                      CutLimit =0.01,Contrast=1                    CutLimit =0.01,Contrast=2.5    

    而地点那幅图像,则由于全部比较暗,增添Contrast的效果就比较精晓了,当Contrast=2.5,图像最上端的有的细节新闻也能清晰的表明出来。

    其他,解析原始代码的双线性插值部分可见,在方圆边缘处,特备是离边缘小于TileX/2或低于TileY/2的有的,由于其邻近新闻的缺乏,实际上是从没有过进行双线性插值的,那样对于一些图像,边缘处显得略微不自然,弥补的不二等秘书籍正是在拍卖前对图像实行扩充,分别向四周扩张TileX/2和TileY/2大小,当然扩充部分的数码供给根据镜像的法子填充数据。

    在贴一些以此算法的拍卖作用:

图片 18图片 19图片 20

图片 21图片 22图片 23

图片 24   图片 25 图片 26                     图片 27                

      特别是最终一幅图,管理的成效都要比本身博客中任何的二种形式来的好,以为真是帅呆了。

      实际中还开掘,假使各种块的尺寸太小,管理的速度和功力都会具备下落,太大就一定于大局的管理了,由此,日常景观下可取将一副图平均分为约4*4块大小的块大小。同期,调治块大时辰还有只怕会出现局地点溘然过亮或过暗的景观,这一个主题素材恐怕会耳闻则诵局地图的职能。

      用C写个DLL,并提供了C#调用的实例:

    图片 28

    上海教室中通道分别选项能够用作是有的自动色阶和电动比较度算法的切换,在勾选通道分别选项时,对于有个别图像会开掘有偏色的情景,那个地方在PS中应用机动色阶和自行比较度时也会冒出。

 图片 29

*********************************作者: laviewpbt   时间: 2012.10.29    联系QQ:  33184777  转发请保留本行信息************************

 

 

本文由澳门新葡8455手机版发布于摄影欣赏,转载请注明出处:直方图分析偏色本质,调出赏心悦目棕色花朵照

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。