彩色图像对比度

对比度的定义:简单的来说就是使亮的地方更亮,暗的地方更暗。

但是关于亮与暗的解释有很多种,在RGB模式中,要使图片变亮的方法是提高R,G,B三个通道的值,从而使图片看起来更亮。

 

网上最常用的调整对比度的算法是根据图像的灰度进行调整

下面是算法:

 

1、计算平均亮度

2、每点与平均亮度比较,得到差值。

3、新的亮度 = 平均亮度 + 系数 *  差值

4、根据新的亮度,计算出新的rgb(保持色调不变)

 

这里亮度就是图像的灰度 亮度的计算方法具体请参考RGB色转为灰度色算法

就算出新的RGB颜色,保持色调不变,只需要保持RGB通道的比例不变就行

关于3的公式,有的是 新的亮度 = 此点的亮度 + 系数 * 此点的亮度 * 差值 但两个公式处理出来的效果差不多,下面放出分别用两个公式的效果图


此为 新的亮度 = 平均亮度 + 系数 * 差值 的结果

 


此为 新的亮度 = 此点的亮度 + 系数 * 此点的亮度 * 差值 的结果

 


此为原图

 



此为Photoshop 中提高对比度后的结果

 

可以看到用这种方法处理出来的结果和PS的结果相差甚远,很不能令人满意

 

于是我对PS调整对比度的结果进行分析

发现当调整对比度时,Lab通道的 a与b通道的值并不改变,改变的只是L(明度)的大小,而不是像RGB一样,调整对比度后R,G,B通道的值都发生变化

数字图像处理 <wbr>调整对比度的几种方法

L通道直方图,灰色为调整前,黑色为调整后

数字图像处理 <wbr>调整对比度的几种方法

a通道,可以发现调整前后无变化

数字图像处理 <wbr>调整对比度的几种方法

b通道,调整前后无变化

对L通道的直方图加以分析,发现明度的变化有以下规则(假设明度最大值为1):


明度大于0.5的像素,增加其明度

明度小于0.5的像素,减小其明度

与平均明度并无关系

明度的增加/减小 偏移量由低到高再降低,可以将此简单的认为是一个抛物线,抛物线的两个焦点分别为

(0.5,1) 明度>0.5

(0,0.5) 明度<0.5

 

公式为

新的明度=(明度-0.5)*(明度-1)*系数+明度   明度>0.5

新的明度=-(明度-0.5)*(明度-0)*系数+明度  明度<0.5

 

利用此方法处理后的图像效果如下


 

效果很不错~ 保持了原有色调的同时提高了对比度,并且与PS的效果相近,不过对于暗的部分处理不明显,可以通过增加对暗部分的系数来修正

 

不过采用次方法有个很大的缺点:运算复杂

使用此方法需要消耗多于第一个方法好几倍的时间和空间

举个例子

一张 1080*1528 像素的图片用此方法处理

需要用到600M的内存,并在在我的电脑上需要跑3秒以上的时间

相对于现在手机支持的分辨率而言,1080*1528并不大,但一般的手机却并不具有这么大的内存与能和台式机匹敌的计算功能。所以这个方法并不实用。

 

之所以这个方法如此复杂,是因为需要处理前需要将RGB模式转换为Lab模式,在Lab模式下处理图像,处理完后还需要重新转换为RGB模式以便输出,然而RGB转Lab的算法太过复杂。

 

在此基础上寻求另一种调整对比度的方法

HSV颜色空间中,颜色由色调、饱和度和明度三个分量确定。

可以试着保持色调和饱和度不变,通过调整明度来改变图像的对比度。

利用此方法的优点是:实现简单,RGB到HSV能过进行快速的变换,而且调整的同时只改变了明度的大小,能够保证色调与调整前一致。不需要像方法二一样的空间与时间

下面是利用HSV空间调整的效果


与PS的结果有点偏差,但就效果而言比方法一好多了

 

一直想在手机上做个能让自己满意的图像处理工具。昨天花了一整天的时间在搞对比度的处理。

将这些心得与同是对数字图像处理有爱的人分享。

最后就懒得发代码了,写这博文花了两小时 (┳_┳)... 累

如果有需要源码的可以私信或者发邮件amethystarry@gmail.com

 

谢谢!!☆⌒(*^-゜)v

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值