图像优化算法(HE、AHE、CLAHE)简单介绍

一、灰度直方图均衡算法(HE)

1.1、算法简介

直方图均衡化通常用来增加许多图像的 全局对比度 ,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。这种方法的一个 缺点是它对处理的数据不加选择,它可能会增加背景噪声的对比度并且降低有用信号的对比度

直方图均衡技术将原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布, 由于其算法简单, 无需借助外来因素的参数设置,可以自成系统的运行, 有效地增强图像对比度, 是一种常用的图像增强方法. 一直以来, 直方图均衡技术受到各个领域的重视, 比如在消费类电子产品邻域, 在均衡图像的同时希望保持图像的亮度信息.

在这里先提出两个基础问题:

  • 何为灰度值?
  • 何为均衡化?为什么需要均衡化?

第一个问题:由于采集到的图像各点的颜色及亮度不同,摄成的黑白照片上或电视接收机重现的黑白图像上各点呈现不同程度的灰色。把白色与黑色之间按对数关系分成若干级,称为“灰度等级”。范围一般从0到255,白色为255,黑色为0,这就是我们常说的灰度值。

第二个问题:一般我们采集到的每一帧图像,在灰度等级0~255范围内都会有不同的分布,你们想象一下两个场景,一个是摄像头处于过亮的环境,这代表着,摄像头采集到的图像会过爆,通俗一点的理解,就是过白,那么这帧图像的灰度分布,大部分都会集中在靠近“255”的地方,另一种场景,就是摄像头处于过暗的环境,这代表着,摄像头采集到的图像会“过黑”,那么这帧图像的灰度分布,就会集中在比较靠近"0"的地方。对于这两种情况来说,都会造成图像不够清晰。而均衡化的意思,就是将图像的灰度分布,根据某些对应关系,将其分布得更加合理,进而提升图像的质量。看一下下面不同情况下的效果图,可能就更能理解上面的描述了。
在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

1.2、HE算法实现

HE算法的实现可以分成下面几个步骤:

  • 遍历每一帧图像中的所有像素,记录每个灰度值出现的像素个数
  • 统计每个灰度值占总像素的百分比,也就是每个灰度值出现的概率
  • 建立一个映射表,对原图像的灰度值一一进行映射,修改成新的灰度值,映射关系为:
    新灰度值 = (最大灰度值(255) - 最小灰度值(0))* 累积概率

为了大家更好理解,我来举个例子,比如我们现在有一个4*4像素的图像数据,它们的灰度值分别如下:

5012825550
12820050255
255128128200
50128200255
灰度值出现次数所占概率累计概率映射后灰度值
5040.250.2564
12850.31250.5625143
20030.18750.75191
25540.251255
那么,最终映射后的像素灰度值就变成了下面表格中所示:
6414325564
14319164255
255143143191
64143191255

1.3、HE算法的缺点

从上面介绍的原理大家知道,HE算法是对图像进行了全局的均衡,也就是,比如你所导入的图像场景,有非常亮的区域,也有较暗的区域,那就会导致较暗的区域在均衡处理过后,亮度被拉得太高,出现了噪点,甚至是直接变成白色,这就是HE算法的一个劣势,在某种场景下,使用该算法像强化,有可能会出现适得其反的作用。

二、自适应直方图均衡算法(AHE)

2.1、算法简介

AHE算法是HE算法的优化版本。

我们上面有说到,常规的直方图均衡算法虽然算法简单,但是其作用并非的全面的,因为它是对图像进行全局处理,对某种特定的图像数据来说,使用直方图均衡算法会出现许多明显的噪点,甚至于弱化了图像细节,使图像呈现出来的效果反而更差。

自适应直方图均衡算法在常规直方图均衡算法的基础上,将图像划分为几块分别处理,没一小块图像统计一个各自专属的分布函数,这样有利于更好地处理图像数据的局部细节,但是由于图像被等分为几块分别处理,这会导致算法的时间复杂度提高不少,降低了图像处理效率,并且还有另一个缺点,由于AHE算法是对每个像素块独立进行处理映射,也就是块与块之间并没有做一个过渡处理,这样会导致一个问题现象,那就是图像呈现出来的效果就像是被切割成了几个块。

三、限制对比度自适应直方图均衡算法(CLAHE)

3.1、算法简介

CLAHE算法是在AHE和HE算法基础上的,优化升级版本的算法

我们上面介绍了AHE算法的缺点,没有对块与块的边缘做过渡处理,并且会存在过度放大图像的问题,而限制对比度自适应直方图均衡算法,顾名思义,就是在自适应直方图均衡算法的基础上,加上阈值,用来限制对比度,达到削弱噪点放大问题的效果,并且使用线性插值/双线性插值的方法来优化块与块之间过渡问题,使图像看起来更加和谐。线性插值和双线性插值的原理,就是当前块中的像素灰度值,是由其相邻块来共同决定的。而限制对比度的做法,就是在使用常规做法得到常规的直方图后,会将直方图中统计的灰度值与我们设定的阈值进行对比,对于超过阈值的部分,我们会将这部分均匀地分布在每一个不同的灰度值下面。

  • 13
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值