图像增强算法的目的是改善图像的视觉质量,使其更易于分析或增强特定特征。以下是一些常见的图像增强技术及其基本原理:
-
直方图均衡化:
- 直方图均衡化通过重新映射像素值来扩展图像的动态范围,使得图像的灰度级分布更加均匀。这通常会增加图像的对比度。
-
伽马校正(Gamma Correction):
- 通过改变像素值与最终输出之间的非线性关系来调整图像的亮度和对比度。伽马值小于1时,图像变亮;大于1时,图像变暗。
-
对数变换(Log Transform):
- 对数变换常用于增强图像的低灰度级部分,尤其是当图像的大部分信息集中在较暗区域时。
-
拉普拉斯增强:
- 拉普拉斯算子是一个边缘检测器,可以增强图像中的边缘。它通过计算图像二阶导数的绝对值来找出像素值变化最剧烈的地方。
-
Retinex理论:
- Retinex算法模拟人眼视觉系统,通过分离图像的照明和反射成分来增强细节和色彩。它通常涉及多尺度分析,如高斯金字塔,以及颜色恢复技术。
-
自适应直方图均衡化(Adaptive Histogram Equalization):
- 与全局直方图均衡化不同,自适应直方图均衡化在局部区域内进行,考虑了图像的局部特性,因此能更好地处理具有显著局部光照变化的图像。
-
噪声滤波(Noise Filtering):
- 包括均值滤波、中值滤波、高斯滤波等,用于去除图像中的噪声,平滑图像,或保护边缘。
-
锐化(Sharpening):
- 通过应用一个边缘增强的卷积核(如拉普拉斯核或Prewitt核)来突出图像的边缘和细节。
-
对比度拉伸:
- 调整图像的灰度范围,使图像的灰度级分布更宽,从而增强对比度。
这些方法可以单独使用,也可以组合使用,以根据特定应用场景定制增强效果。在实际应用中,通常需要根据图像的内容和目标应用选择合适的增强策略。
基于直方图均衡化的图像增强
CLAHE
对比度受限的自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization, CLAHE)是一种图像增强技术,特别适用于医学成像和其他领域,其中局部对比度的增强很重要,而全局对比度增强可能导致过饱和。CLAHE是对传统自适应直方图均衡化(Adaptive Histogram Equalization, AHE)的一种改进,以解决AHE在高对比度区域可能出现的过曝光问题。
以下是CLAHE的基本原理和特点:
-
局部处理:
- CLAHE将图像分割成小的像素块(称为“tiles”),每个块独立进行直方图均衡化。这样可以针对图像的不同区域应用不同的增强,适应局部对比度的变化。
-
直方图均衡化:
- 每个块内部,像素值的分布被重新映射以增强对比度。这通常通过创建该块的直方图,然后将直方图展平来实现,使得每个灰度级都有相同数量的像素。
-
对比度限制:
- 为了避免小块内的对比度过高(即过曝光或过增强),CLAHE引入了一个对比度限制机制。当某个灰度级的像素数量超过预定阈值时,超出部分会被分散到其他灰度级,防止局部对比度过大。
-
克隆填充(Clipping and Cloning):
- 在像素值映射过程中,超出直方图范围的像素(由于对比度限制)会被“克隆”到相邻的灰度级,以保持像素总数不变,同时避免在增强后的图像中出现空白区域。
-
平滑:
- 为了消除块之间的边界效应(即“伪影”),CLAHE通常会应用一种平滑操作,如双线性插值,来平滑相邻块之间的过渡。
-
参数调整:
- CLAHE有两个主要的可调参数:块大小(tile size)和对比度限制阈值。块大小决定了局部处理的区域,而对比度限制阈值决定了对比度增强的程度。
效果图
equalizeHist
equalizeHist
是 OpenCV 库中一个用于图像增强的函数,专门用于灰度图像的直方图均衡化。
功能
- 提升图像的对比度,特别是在图像的灰度级分布较为集中时。
- 将图像的灰度直方图拉伸到整个可用的灰度级别范围,使得图像的像素值分布更加均匀。
- 这种均匀分布使得图像中的小差异变得更为明显,有助于增强图像的细节。
原理
- 计算输入图像的灰度直方图。
- 根据直方图确定新的灰度级映射,目标是使每个灰度级别的像素数量接近相同。
- 应用这个映射函数到每个像素,将旧的灰度值转换为新的灰度值。
- 结果是一个对比度增强的新图像,其像素值分布更加均匀。
注意事项
equalizeHist
只适用于单通道图像。对于彩色图像,通常需要先将其转换为灰度图像,然后再进行均衡化。- 由于是全局操作,可能会导致某些原本对比度较高的区域过于明亮,因此并不总是适用于所有图像。
- 在某些情况下,局部直方图均衡化(如CLAHE)可能是更好的选择,因为它可以控制局部对比度的增强,避免过曝现象。
效果图
基于拉普拉斯核的图像增强
使用中心为5的8邻域拉普拉斯算子与图像卷积可以达到锐化增强图像的目的,拉普拉斯核如下图所示
基于拉普拉斯算子的图像叠加增强
基于对数Log变换的图像增强
基于对数Log变换的图像增强是一种非线性图像处理技术,主要用于增强图像中低灰度区域的细节,同时压缩高灰度区域的动态范围。对数变换能够有效改善图像的视觉效果,特别是在图像的暗部区域含有重要细节时。
原理
-
动态范围调整:对数变换通过非线性地扩展低灰度值和压缩高灰度值,将图像的动态范围映射到更便于观察的范围。这对于那些暗部细节丰富但整体偏暗的图像特别有效。
-
对比度增强:对数变换能够增强图像的全局对比度,尤其是对于那些直方图集中在较窄灰度范围内的图像,通过扩展低灰度区域,使得图像的细节更加清晰可见。
-
底数选择:对数变换的底数(通常选择为10或2)会影响变换的程度。底数较大时,对低灰度值的扩展作用更强,对高灰度值的压缩也更显著,这有助于进一步增强图像的低亮度细节。
基于伽马变换的图像增强
幂次变换又称伽马变换:
✓ c和 γ是正常数
✓ γ < 1 提高灰度级,在正比函数上方,使图像变亮
✓ γ > 1 降低灰度级,在正比函数下方,使图像变暗