Matlab实现直方图优化的图像去雾技术

图像增强

图像增强是指按特定的需要突出图像中的某些信息,并同时削弱或去除某些不需要的信息的处理技术。图像增强主要的作用是相对于原来的图像,处理后的图像能更加有效地满足某些特定应用的要求。根据图像处理空间的不同,图像增强基本上可以分成两大类:频域处理法、空域处理法。频域处理法的基础是卷积定理,其通过进行某种图像变换(如傅里叶变换、小波变换等)得到频域结果并进行修改的方法来实现对图像的增强处理。空域处理法是直接对图像中的像素进行处理,一般是以图像灰度映射变换为基础并且根据图像增强的目标来采用所需的映射变换,常见的图像对比度增强、图像的灰度层次优化等处理均属于空域处理法。

直方图均衡化

直方图均衡是一种经典有效的图像增强方法。这种方法是根据输入图像的灰度概率分布来确定图像对应的输出灰度值,通过拓展图像灰度分布的动态范围以改善图像视觉效果。直方图均衡方法有局部均衡和全局均衡两种。局部均衡可以更好地增强图像的局部细节,具体的方法有子块不重叠、子块重叠和子块部分重叠等三种方式。其中子块不重叠方式因产生明显的方块效应而很少采用;子块重叠方式由于计算量大、处理速度慢,实际应用也不多;子块部分重叠方式虽然可以提高处理速度,但算法相对复杂。

直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。这种方法通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。这种方法对于背景和前景都太亮或者太暗的图像非常有用,这种方法尤其是可以带来X光图像中更好的骨骼结构显示以及曝光过度或者曝光不足照片中更好的细节。这种方法的一个主要优势是它是一个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直方图,并且计算量也不大。这种方法的一个缺点是它对处理的数据不加选择,它可能会增加背景噪声的对比度并且降低有用信号的对比度。

全局直方图处理

全局化直方图均衡化

现状:(基于概率统计方法的图像增强研究1)

鉴于传统的直方图均衡化(HE)存在以下缺陷:

(1) HE方法不具备调整增强程度的机制。特别是它在图像的不同部位难以实现不

同的增强效果,例如图像的背景和细节部分。

(2) HE通常会导致出现不自然的视觉效果。因为图像的原平均亮度会产生转移,

如过度增强,水平饱和(剪切)和增加噪音。

(3) HE方法显着改变了图像的特征。例如,图像的平均亮度在增强后变化显著不

同。 link.

matlab代码实现

MATLAB通过函数imread读取RGB图像,并通过维数MN3的矩阵来表示。其中,维数M*N表示图像的行数、列数信息,维数3表示图像的R、G、B三层通道数据。因此,全局直方图处理通过对R、G、B三层通道分别进行直方图均衡化,再整合到新的图像的方式来进行。

局部直方图处理

全局直方图均衡化增强只是将原图像的直方图进行了均衡化,未能有效保持原始图像的局部特征,容易出现色彩失真的问题。通过选择固定尺寸的滑动窗口作用于原始图像来进行局部直方图处理,可以在一定程度上保持原始图像的局部特征,提高图像增强的效果。因此,局部直方图处理通过对RGB图像的R、G、B三层通道分别进行局部直方图均衡化,再整合到新的图像的方式来进行。

matlab代码实现

Retinex增强处理

Retinex是一种常用的建立在科学实验和科学分析基础上的图像增强方法,它是Edwin.H.Land于1963年提出的。就跟Matlab是由Matrix和Laboratory合成的一样,Retinex也是由两个单词合成的一个词语,他们分别是retina 和cortex,即:视网膜和皮层。Land的retinex模式是建立在以下三个假设之上的:

  • 真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜—肥皂膜却是显现五彩缤纷,那是薄膜表面光干涉的结果。

  • 每一颜色区域由给定波长的红、绿、蓝三原色构成的;

  • 三原色决定了每个单位区域的颜色。

Retinex理论的基础理论是物体的颜色是由物体对长波(红色)、中波(绿色)、短波(蓝色)光线的反射能力来决定的,而不是由反射光强度的绝对值来决定的,物体的色彩不受光照非均匀性的影响,具有一致性,即retinex是以色感一致性(颜色恒常性)为基础的。不同于传统的线性、非线性的只能增强图像某一类特征的方法,Retinex可以在动态范围压缩、边缘增强和颜色恒常三个方面达到平衡,因此可以对各种不同类型的图像进行自适应的增强。link.

基于全局直方图、局部直方图的图像去雾算法在理论及显示上比较简单,能起到一定的去雾处理效果。为了进行对比,实验中采用了Retinex图像增强算法来进行对比,该算法可以平衡图像灰度动态范围压缩、图像增强和图像颜色恒常三个指标,能够实现对含雾图像的自适应性增强。

matlab代码实现

参考文档
参考文档
Mtalab计算机视觉和深度学习实战

你可能感兴趣的:(计算机视觉,计算机视觉,matlab,算法)