关于图像对比度【5】——局部自适应对比度调整

关于图像对比度【5】——局部自适应对比度调整

之前说的对比度都是对整幅图像来说的,在进行对比度调整的时候,也是对整幅图像使用了相同的参数,比如用线性变换的方法来做对比度调整,即y=kx+b,对于所有的像素点k和b的值都是相同的。

但是有时候,显然这不满足我们的需求,有时候图像有暗区和亮区,从整幅图像来说,亮暗对比很明显,似乎图像的对比度很好,但是这不是我们想要的结果。因为在图像的暗区,一些细节我们看不清(或者在亮区一些细节看不清)。什么时候会遇到这种情况呢?比如逆光拍摄的时候,像下面这张,(当然如果你想要的就是这种剪影的效果那这种就很好):
这里写图片描述

上面这张图像里面,比如一些头发的细节、脸部特征的细节都看不清楚,因为太暗了。

但是,如果我对它y=kx+b,k>1,的话,很显然阳光照过来的比较亮的区域就要过曝了。

所以很自然的想法就是,我希望暗区域k值>1,亮区域k值<1。

怎么让程序自己去确定k值就是key了。首先程序要评估像素点周围的区域亮度,人为的设定一个暗区域阈值和一个亮区域阈值,当我计算出来的区域亮度小于暗区阈值的时候,我就认为像素出在暗区域,因此k值要大于1,这里简单的将k值定义为(暗区阈值/区域亮度)。亮区同理。另外把b值全都定义为0,再然后就是线性变换了,不多说。

看一下效果:
这里写图片描述

很显然这个图里面亮的区域不如原图那么亮,暗的区域也不如原图那么暗,一些原来看不清的细节就出来了。

代码在这里:
https://github.com/jingweizhanghuai/image/blob/master/adapt_contrast.c

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值