文章目录什么是图像增强 一、亮度和对比度调整1.1、线性方法1.1.1、灰度反转Gray Inversion1.1.2、对比度拉伸Contrast Stretching1.1.3、对比度和亮度增强Contrast and Brightness1.2、非线性方法1.2.1、指数变换Exponential Transformation1.2.2、伽马变换Gamma Transformation1.2.3、对数变换Logarithmic Transformation二、直方图均衡化2.1、直方图均衡化Histogram EqualizationHE2.2、限制对比度自适应直方图均衡化Contrast Limited Adaptive Histogram EqualizationCLAHE三、空间域增强3.1、线性滤波Linear Filtering方框滤波Box Filtering均值滤波Mean Filter高斯滤波Gaussian Filter锐化滤波Sharpening Filter3.2、非线性滤波Non-linear Filtering中值滤波Median Filter双边滤波Bilateral Filter最小/最大滤波Min/Max Filter自适应中值滤波Adaptive Median Filtering形态学滤波Morphological Filtering3.3、边缘检测Edge EnhancementPrewitt算子通过 cv2.filter2D 函数来应用 Prewitt 算子Roberts算子通过 cv2.filter2D 函数来应用 Prewitt 算子Sobel算子cv2.sobel()Scharr算子cv2.Scharr()拉普拉斯算子cv2.Laplacian()Canny算子cv2.Canny()四、频率域增强4.1、傅里叶变换Fourier Transform4.2、小波变换Wavelet Transform五、深度学习5.1、卷积神经网络 (Convolutional Neural NetworksCNNs)5.2、生成对抗网络 (Generative Adversarial NetworksGANs)5.3、变分自编码器 (Variational AutoencodersVAEs)5.4、注意力机制 (Attention Mechanism)5.5、变换网络 (Transformers)5.6、自监督学习 (Self-Supervised Learning)什么是图像增强 图像增强通过一系列技术和方法对图像进行处理以改善其视觉效果和特征表现。主要指标包括亮度Brightness影响图像的整体光照程度确保图像在视觉上既不过暗也不过亮。对比度Contrast增强图像中亮部和暗部之间的差异使得细节更加明显高对比度有助于更清晰地展示图像的纹理和特征。清晰度Sharpness提高图像边缘的清晰度使物体轮廓更加鲜明便于细节识别。色彩饱和度Color Saturation增强颜色的丰富性使图像色彩更加鲜艳提升视觉吸引力。纹理Texture突出图像中的纹理细节增强表面特征对于医学影像和材料检测等领域尤为重要。去噪Denoising降低图像中的噪声提高信号质量减少噪声对重要细节的干扰。增强特征Feature Enhancement提高重要特征的可见性方便观察和分析。视觉一致性Visual Consistency确保图像不同区域在亮度、对比度和色彩表现上的一致性便于用户进行全面分析。图像增强技术广泛应用于多个领域包括医学影像改善X光、CT和MRI图像以辅助医生诊断。卫星和遥感图像增强地理数据支持土地利用分类和环境监测。安防监控提升监控视频质量促进人脸识别和行为分析。工业检测提高质量控制中的产品检测精度。图像搜索和检索改善图像搜索结果的准确性和相关性。一、亮度和对比度调整1.1、线性方法1.1.1、灰度反转Gray Inversionimportcv2if__name____main__:importtifffile imagetifffile.imread(rF:\py\YH220_235.tif)# image cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)inversion_image255-image# 灰度取反importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmapgray),plt.title(image),plt.axis(off)plt.subplot(1,2,2),plt.imshow(inversion_image,cmapgray),plt.title(inversion_image),plt.axis(off)plt.show()1.1.2、对比度拉伸Contrast Stretching效果适合亮度范围狭窄的图像通过简单拉伸提升整体对比度。importcv2importnumpyasnpdefcontrast_stretching(image):# 对比度拉伸I_minnp.min(image)# 输入图像的最小像素值I_maxnp.max(image)# 输入图像的最大像素值O_min0# 输出图像的最小像素值设定为 0O_max255# 输出图像的最大像素值设定为 255# 公式:ya*xb.1x归一化到[0, 1]; 2a:拉伸到 [0, 255]; 3b:亮度调整stretched(image-I_min)/(I_max-I_min)*(O_max-O_min)O_min stretchednp.clip(stretched,0,255).astype(np.uint8)returnstretchedif__name____main__:importtifffile imagetifffile.imread(rF:\py\YH220_235.tif)# image cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)stretched_imagecontrast_stretching(image)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmapgray),plt.title(image),plt.axis(off)plt.subplot(1,2,2),plt.imshow(stretched_image,cmapgray),plt.title(stretched_image),plt.axis(off)plt.show()1.1.3、对比度和亮度增强Contrast and Brightness对比度增强通过乘以一个对比度因子 α 来线性放大或压缩图像的灰度值。# O(x,y)α*I(x,y)β。其中O(x,y) 是增强后的像素值I(x,y) 是输入图像的像素值。# α 是对比度增益因子。α 1增强对比度0 α 1降低对比度# β 是亮度调整参数。正值增加亮度负值降低亮度importcv2if__name____main__:importtifffile imagetifffile.imread(rF:\py\YH220_235.tif)# image cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)C_and_Bcv2.convertScaleAbs(image,alpha2.0,beta30)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmapgray),plt.title(image),plt.axis(off)plt.subplot(1,2,2),plt.imshow(C_and_B,cmapgray),plt.title(contrast_and_brightness),plt.axis(off)plt.show()1.2、非线性方法1.2.1、指数变换Exponential Transformation原理使用指数函数进行非线性变换增强图像中较暗或较亮的部分。# 公式如下O(x,y)c*(e^I(x,y)−1)# 其中: O(x,y) 是增强后的像素值# I(x,y) 是输入图像的像素值# e 是自然对数的底数约等于 2.71828。# c 是常数控制图像的亮度增强的强度。# 1较大的 c 值会使输出图像的亮度显著增加尤其是对暗部细节的增强。# 2较小的 c 值则会减小增强效果适用于细微调整。# 常用的经验值如果输入图像的像素值范围是 [0,255]将 c 设置为 255 有助于将输出值调整到合适的范围避免图像过暗。importcv2importnumpyasnpdefexponential_transformation(image,c255):# 指数变换normalized_imageimage/255.0exp_imagec*(np.exp(normalized_image)-1)exp_imagenp.clip(exp_image,0,255).astype(np.uint8)returnexp_imageif__name____main__:importtifffile imagetifffile.imread(rF:\py\YH220_235.tif)# image cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)exp_imageexponential_transformation(image,c255)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmapgray),plt.title(image),plt.axis(off)plt.subplot(1,2,2),plt.imshow(exp_image,cmapgray),plt.title(exp_image),plt.axis(off)plt.show()1.2.2、伽马变换Gamma Transformation原理非线性调整图像灰度值通过控制伽马值 γ 调节图像亮度。# 公式如下O(x,y)c*I(x,y)^γ# 其中: O(x,y) 是输出图像的像素值# I(x,y) 是输入图像的像素值通常归一化到 [0, 1] 区间# c 是常数用于保持输出范围适合显示例如 [0, 255]。# γ 是伽马值控制图像的亮度和对比度调整。# 10 γ 1 使图像的暗部变亮适合处理偏暗的图像。# 2γ 1 使图像的亮部变适合处理过曝光的图像。# 常见伽马值推荐# γ≈0.4−0.7适合亮度偏低的图像使暗部变亮。# γ≈1.5−2.5适合亮度过高的图像压缩高亮度区域。importcv2importnumpyasnpdefgamma_transformation(image,gamma1.0):# 伽马变换inv_gamma1.0/gamma gamma_tablenp.array([((i/255.0)**inv_gamma)*255foriinnp.arange(0,256)]).astype(uint8)returncv2.LUT(image,gamma_table)if__name____main__:importtifffile imagetifffile.imread(rF:\py\YH220_235.tif)# image cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)gamma_imagegamma_transformation(image,gamma2.0)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmapgray),plt.title(image),plt.axis(off)plt.subplot(1,2,2),plt.imshow(gamma_image,cmapgray),plt.title(gamma_image),plt.axis(off)plt.show()1.2.3、对数变换Logarithmic Transformation原理对灰度值取对数压缩高亮度区域提升暗部细节。# 公式如下O(x,y)c*log(1I(x,y))# 其中: O(x,y) 是输出图像的像素值# I(x,y) 是输入图像的像素值# log 是自然对数函数# c 是比例常数。1c 的值越大图像的整体亮度越高2较小的 c 值会使图像变得更暗。# 常用的经验值若输入图像的灰度值范围是 [0, 255]则通常 c255/log(256)≈45.98以确保变换后像素值仍保持在[0, 255]。importcv2importnumpyasnpdeflogarithmic_transformation(image,c1):# 对数变换log_imagec*(np.log1p(image.astype(np.float32)))# log1p 是 log(1 x)log_imagenp.clip(log_image,0,255).astype(np.uint8)returnlog_imageif__name____main__:importtifffile imagetifffile.imread(rF:\py\YH220_235.tif)# image cv2.imread(image.jpg, cv2.IMREAD_GRAYSCALE)log_imagelogarithmic_transformation(image,c40)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmapgray),plt.title(image),plt.axis(off)plt.subplot(1,2,2),plt.imshow(log_image,cmapgray),plt.title(log_image),plt.axis(off)plt.show()二、直方图均衡化直方图 直方图均衡化 自适应直方图均衡化2.1、直方图均衡化Histogram EqualizationHE2.2、限制对比度自适应直方图均衡化Contrast Limited Adaptive Histogram EqualizationCLAHE三、空间域增强在图像处理中空间域增强方法直接操作图像的像素值常用于提高图像的可视性和特征表现。3.1、线性滤波Linear Filtering图像滤波方框 均值 高斯 中值方框滤波Box Filtering均值滤波Mean Filter高斯滤波Gaussian Filter锐化滤波Sharpening Filter3.2、非线性滤波Non-linear Filtering图像滤波方框 均值 高斯 中值中值滤波Median Filter双边滤波Bilateral Filter最小/最大滤波Min/Max Filter自适应中值滤波Adaptive Median Filtering形态学滤波Morphological Filtering3.3、边缘检测Edge Enhancement边缘检测算子Prewitt算子通过 cv2.filter2D 函数来应用 Prewitt 算子Roberts算子通过 cv2.filter2D 函数来应用 Prewitt 算子Sobel算子cv2.sobel()Scharr算子cv2.Scharr()拉普拉斯算子cv2.Laplacian()Canny算子cv2.Canny()四、频率域增强在图像处理中的频率域增强方法通常是将图像先转换到频率域通过修改频率分量来增强图像中的特定特征再将其转换回空间域得到增强效果。常见的频率域增强方法包括滤波和频谱调整如低通滤波、高通滤波、带通滤波等。以下是频率域增强方法的主要步骤傅里叶变换使用傅里叶变换将空间域图像转换到频率域。滤波器设计根据需要增强的特征如边缘或噪声设计频域滤波器。低通滤波器保留低频成分抑制高频成分用于去噪或平滑处理。高通滤波器保留高频成分抑制低频成分用于边缘增强。带通滤波器保留特定频率区间的成分适用于增强特定频率范围的细节。频谱滤波将设计好的滤波器应用于频率域图像。逆傅里叶变换将处理后的频率域图像转换回空间域得到增强后的图像。4.1、傅里叶变换Fourier Transform傅里叶变换 低通滤波 高通滤波傅里叶变换Fourier Transform快速傅里叶变换Fast Fourier Transform, FFT离散傅里叶变换Discrete Fourier Transform, DFT傅里叶逆变换Inverse Fourier Transform短时傅里叶变换Short-time Fourier Transform, STFT带通滤波Band-pass Filtering高通滤波High-pass Filtering低通滤波Low-pass Filtering4.2、小波变换Wavelet Transform小波变换Wavelet Transform离散小波变换Discrete Wavelet Transform, DWT连续小波变换Continuous Wavelet Transform, CWT小波包变换Wavelet Packet Transform, WPT小波逆变换Inverse Wavelet Transform多分辨率分析Multiresolution Analysis, MRAHaar 小波变换Haar Wavelet TransformDaubechies 小波变换Daubechies Wavelet Transform五、深度学习图像增强旨在改善图像的视觉质量强调细节、对比度和清晰度等以提升图像的视觉效果或为后续的计算机视觉任务提供支持。1传统图像增强方法多基于像素层面的操作2深度学习方法则依靠数据驱动通过复杂的神经网络结构对图像特征进行非线性处理提升增强效果。5.1、卷积神经网络 (Convolutional Neural NetworksCNNs)特点CNN 具有强大的局部特征提取能力适合处理图像增强任务。它们通过卷积层提取图像的局部信息再通过多个卷积和池化层逐步获得高级特征。去噪DnCNNDenoising Convolutional Neural Network模型采用卷积网络结构有效去除高斯噪声、混合噪声。超分辨率重建SRCNNSuper-Resolution CNN通过简单的卷积网络结构将低分辨率图像恢复到高分辨率。去模糊DeblurGAN 使用生成对抗网络 (GAN) 框架结合 CNN 模型来消除图像模糊恢复图像清晰度。5.2、生成对抗网络 (Generative Adversarial NetworksGANs)特点GAN 由生成器和判别器组成通过相互博弈生成逼真的图像增强结果。生成器生成图像判别器判断生成图像的真实性经过不断对抗优化使生成器输出的图像逐渐逼真。图像修复SRGANSuper-Resolution GAN用于图像超分辨率生成更加逼真的高分辨率图像。图像去雨、去雾DeRainGAN 和 DehazeGAN 分别针对下雨、雾霾等特殊天气条件通过对抗生成使图像清晰可见。风格转换CycleGAN 实现图像风格转换如白天到夜晚、晴天到雨天等保持内容不变的情况下增强图像的特定风格。5.3、变分自编码器 (Variational AutoencodersVAEs)特点VAE 通过在编码器和解码器之间加入噪声的方式对输入图像进行分布建模可生成多种可能的增强效果。图像补全使用部分破损的图像生成完整图像VAE 模型通过生成不同潜在空间的样本来推测丢失区域。图像去噪CVAEConditional VAE模型能去除不同类型的噪声生成更干净的图像。图像增强将输入低质量图像的潜在特征分布与高质量图像对齐以增强图像质量。5.4、注意力机制 (Attention Mechanism)特点注意力机制可引导模型关注图像中的重要区域以便对这些区域进行重点增强从而提高增强效果的针对性。去模糊使用注意力机制加权模糊区域选择性去除模糊如 DMPHNDeep Multi-Patch Hierarchical Network。超分辨率重建SANSecond-order Attention Network for Image Super-resolution在图像超分辨率中利用注意力机制提升局部清晰度。低光增强通过注意力模块识别低光区域增强其亮度和对比度使暗光图像更加清晰。5.5、变换网络 (Transformers)特点变换网络基于自注意力机制可以捕获图像全局信息对复杂图像内容的增强处理尤其有效。去模糊Uformer 和 Restormer 是基于变换器的模型能够高效处理去模糊和去噪任务。图像恢复SwinIRSwin Transformer for Image Restoration在超分辨率、去噪等任务中表现优异可通过长距离的自注意力机制获得精细化的恢复效果。图像超分辨率ViTVision Transformer模型通过全局信息捕获提升超分辨率结果避免细节丢失。5.6、自监督学习 (Self-Supervised Learning)特点自监督方法通过设定伪标签在不需要大量人工标注的情况下增强图像并在任务中学习图像的特征和结构。图像去噪和修复Noise2Void 和 Noise2Self 模型利用自监督机制在不需要干净标签的情况下完成去噪。图像增强SimCLR 和 MoCo 等自监督方法提取增强图像特征用于对比学习以提升增强效果。低光增强通过自监督生成高质量的低光图像提升图像的亮度、对比度和细节。