一种强化的基于局部直方图裁剪均衡化的对比度调节算法。

在很久前实现对比度受限的自适应直方图均衡化时,就曾经想过对该算法进行一定程度的扩展,之后使用自动对比度和自动色阶代替直方图均衡化也提出了新的算法,也达到了不错的效果。本文进一步对该算法进行一定程度的扩展和补充优化。

一、本文算法的概述

根据选取的优化的水平和垂直网格数,将图像切分成一个一个的子块,然后统计每个子块的直方图信息,并和原图整体的直方图信息进行某种混合,对于彩色图像,为了避免不同通道之间处理后变化过于不协调,还增加了各通道直方图与亮度通道直方图的信息合成,然后对合成后的直方图进行直方图裁剪和均衡化的,获取各子块新的映射直方图,为了避免新的映射表中的数据有较大的奇点或噪音,对映射表的数据进行多点取样,然后使用样条插值算法对取样点进行插值,或者对新的映射表进行一定程度的高斯模糊,得到一张较为平滑的映射表。最后使用类似CLAHE算法中的双线性插值对每个子块之间的映射表进行插值得到新的像素值。本方法计算量小,速度很快,对映射表进行平滑插值或高斯模糊能有效的抑制对比度调整时产生的噪声,防止了信息的过度放大造成图片失真,是一种高效并且效果突出的对比度增强算法。

二、算法过程详解

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

类似于CALHE算法,对网格的合理选取也会对本算法的结果产生重要的影响,过多的网格数会使得计算量显著加大,过少的网格数使得结果趋于接近整体的直方图均衡化,一般情况下,可选择8*8个网格,这里可以通过以下原则来简单的做个优化:图像的亮度的均方差越小,即整幅图像的明暗比较一致,使用较多的网格数,比如8*8,否则使用较少的网格,比如4*4。这是因为当图像明暗较为一致时,各小块的直方图数据差异不会很大,而如果明暗不一致,选择较小的块,各块之间的直方图信息差异可能很大,会造成插值时出现明显的瑕疵。

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

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

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

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;

其中Adaptation为融合因子,其有效范围为[0,100],当取值越小时,全局直方图其主导作用,效果越接近普通的直方图均衡。

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;

其中Correction为颜色校正因子,其有效范围为[0,100],当取值越大时,各通道之间越独立,效果越接近普通的直方图均衡。

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

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

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

1)  将映射表的 Bins取K等份,得到每等份数据对应的映射表值,构成K个二维坐标点序列,亦可以根据直方图的累计数据,把累计数据平均分为K等分,得到K个二维序列点。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容