图像预处理一些方法的原理步骤说明

本文详细介绍了图像处理中的关键技术,如直方图均衡化、自适应直方图均衡化(CLAHE)、伽马校正、对数变换、高斯模糊、锐化滤波(包括拉普拉斯算子和UnsharpMasking)、频率域滤波、白平衡调整以及颜色矫正,涵盖了从基本原理到实际应用的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.直方图均衡化

直方图均衡化的步骤:

2.自适应直方图均衡化

CLAHE 算法步骤:

3.伽马校正

伽马校正的概念:​

伽马校正的步骤:

4.对数变换

对数变换原理:​

对数变换概念应用:

5.高斯模糊

高斯模糊的原理:

高斯模糊的步骤:

6.锐化滤波

拉普拉斯算子:

高通滤波器:

Unsharp Masking(USM):

7.频率域滤波

频率域滤波的基本步骤:

频率域滤波的用法:

8.白平衡调整

拍摄时调整白平衡:

后期处理调整白平衡:

9.颜色矫正

颜色校正涉及方面:


1.直方图均衡化

直方图均衡化是一种常用于图像处理的方法,它可以改善图像的对比度,尤其是在图像的局部区域的对比度不足时。此方法通常通过调整图像的直方图分布来实现,使得最终图像的直方图分布更加均匀,从而增强图像的整体对比度。

直方图均衡化的步骤:

1. **计算原始直方图**:首先计算原始图像的直方图,这是反映图像亮度分布的基础。直方图H是一个函数,其中H(i)代表图像中亮度值为i的像素的数量。

2. **计算累积直方图**:根据原始直方图,计算累积直方图(Cumulative Histogram, CH)。累积直方图的每一个位置是原始直方图对应该位置以及之前所有位置的总和。

3. **归一化累积直方图**:将累积直方图归一化到图像的亮度范围内。这通常是通过除以像素的总数并乘以亮度级别的最大数值来完成的。这样可以将累积直方图的值映射到新的亮度级别。

4. **映射原始图像**:使用归一化的累积直方图映射原始图像的每个像素值到新的亮度值。换言之,原始图像中每个像素的亮度值将根据归一化后的累积直方图进行调整。

5. **生成新图像**:最终的图像是通过将每个像素的亮度值替换为累积直方图映射后得到的新值生成的。

这个过程实质上是通过扩展图像中的亮度范围来提高图像的对比度。在直方图均衡化之后,图像原本可能聚集在某个亮度范围的像素值被重新分布,从而使整个亮度范围得到充分利用。

在实际应用中,直方图均衡化可能会导致某些区域的对比度过高。为了解决这个问题,有一种叫做自适应直方图均衡化(Adaptive Histogram Equalization, AHE)的方法,而它的一个常用变体是对比度限制的自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization, CLAHE)。CLAHE 的基本思想是对图像进行分块处理,对每一块独立进行直方图均衡化,并通过限制对比度来避免过度增强噪声。然后使用双线性插值等技术平滑邻近块之间的过渡,这样可以得到在局部区域自适应提高对比度的效果,同时不会在整个图像中引入不自然的对比度变化。

2.自适应直方图均衡化

自适应直方图均衡化(Adaptive Histogram Equalization, AHE)是一种图像对比度改善的技术,特别适用于在不同区域具有不同亮度的图像。与传统直方图均衡化相比,自适应直方图均衡化不会应用一个全局的转换,相反,它会根据图像的局部区域来调整对比度,因而能够在保持图像局部细节的同时,提升图像对比度。

CLAHE(Contrast Limited Adaptive Histogram Equalization)是AHE的一个改进版本,添加了对比度限制,以避免放大噪声。

CLAHE 算法步骤:

1. **分块处理**:将图像分成许多小块(称为“tile”)。这些小块通常是8x8、16x16或更大,具体取决于图像大小和需求。

2. **对每一块应用直方图均衡化**:在每个小块上分别进行直方图均衡化。这意味着图像中每个小块的对比度都会被增强。

3. **对比度限制**:为了防止在每一块中由于直方图均衡化造成太高的对比度(这可能会导致噪音放大),CLAHE 方法限制了直方图的"bin"到一个指定的限制值。超过这个限制的像素会被均匀分配给其他bins。

(直方图的"bin"(或称为"桶")是用于统计数据分布的间隔。在图像处理的上下文中,一个直方图表示了图像中像素强度的分布。每个bin包含了特定范围的像素值,并且记录了落入这个范围的像素数量。

例如,考虑一个8位灰度图像,其像素值范围从0到255。如果我们创建一个具有256个bins的直方图,那么每个bin就对应于一个特定的像素强度值,bin的计数指的是图像中拥有那个强度值的像素的数量。如果使用更少的bins,例如只使用16个bins,那么每个bin将包含一段像素值范围(在这个例子中,每个bin将包含16个连续的像素强度值),并且每个bin的计数将是落入该范围的所有像素的数量总和。)

4. **双线性插值**:经过均衡化的图块之间的边界会在直方图应用之后出现不连续,为了消除块与块之间边界的“伪影”,使用双线性插值根据相邻块的均衡化结果来调整边界像素的值。

5. **合并小块**:最后,将调整后的小块重新组合成最终的图像。

通过CLAHE可以得到在局部区域细节更加清晰但又不会过度增强噪声的图像。它非常适用于医学成像或其他需要细节增强的场合。在OpenCV中,CLAHE可以通过`cv::createCLAHE()`函数来创建一个CLAHE对象,然后使用该对象的`apply()`方法应用到具体的图像上。

3.伽马校正

伽马校正是图像处理中的一项常用技术,用于校正图像亮度的非线性响应问题,它依据人眼对亮度的非线性感知调整图像的色调映射。伽马校正主要针对的是显示设备的伽马特性,使得图像在显示设备上的显示效果更为真实和自然。

伽马校正的概念:

伽马校正的步骤:

在编程实现时,通常遵循以下步骤进行伽马校正:

1. **归一化**:将图像像素值归一化到0到1之间,因为伽马公式上述是在0到1范围内定义的。

2. **应用伽马校正公式**:对归一化后的每一个像素值应用 $O = I^\gamma$,进行伽马校正。

3. **反归一化**:完成伽马校正后,将每个像素值反归一化࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值