当前位置: 首页 > news >正文

图像增强的100种方法

文章目录

  • 什么是图像增强 ?
  • 一、亮度和对比度调整
    • 1.1、线性方法
      • 1.1.1、灰度反转(Gray Inversion)
      • 1.1.2、对比度拉伸(Contrast Stretching)
      • 1.1.3、对比度和亮度增强(Contrast and Brightness)
    • 1.2、非线性方法
      • 1.2.1、指数变换(Exponential Transformation)
      • 1.2.2、伽马变换(Gamma Transformation)
      • 1.2.3、对数变换(Logarithmic Transformation)
  • 二、直方图均衡化
    • 2.1、直方图均衡化(Histogram Equalization,HE)
    • 2.2、限制对比度自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization,CLAHE)
  • 三、空间域(增强)
    • 3.1、线性滤波(Linear Filtering)
      • 方框滤波(Box Filtering
      • 均值滤波(Mean Filter)
      • 高斯滤波(Gaussian Filter)
      • 锐化滤波(Sharpening Filter)
    • 3.2、非线性滤波(Non-linear Filtering)
      • 中值滤波(Median Filter)
      • 双边滤波(Bilateral Filter)
      • 最小/最大滤波(Min/Max Filter)
      • 自适应中值滤波(Adaptive Median Filtering)
      • 形态学滤波(Morphological Filtering)
    • 3.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)
    • 4.2、小波变换(Wavelet Transform)
  • 五、深度学习
    • 5.1、卷积神经网络 (Convolutional Neural Networks,CNNs)
    • 5.2、生成对抗网络 (Generative Adversarial Networks,GANs)
    • 5.3、变分自编码器 (Variational Autoencoders,VAEs)
    • 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 Inversion)

importcv2if__name__=='__main__':importtifffile image=tifffile.imread(r"F:\py\YH220_235.tif")# image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)inversion_image=255-image# 灰度取反importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmap='gray'),plt.title('image'),plt.axis('off')plt.subplot(1,2,2),plt.imshow(inversion_image,cmap='gray'),plt.title('inversion_image'),plt.axis('off')plt.show()

1.1.2、对比度拉伸(Contrast Stretching)

效果:适合亮度范围狭窄的图像,通过简单拉伸提升整体对比度。

importcv2importnumpyasnpdefcontrast_stretching(image):# 对比度拉伸I_min=np.min(image)# 输入图像的最小像素值I_max=np.max(image)# 输入图像的最大像素值O_min=0# 输出图像的最小像素值设定为 0O_max=255# 输出图像的最大像素值设定为 255# 公式:y=a*x+b.(1)x归一化到[0, 1]; (2)a:拉伸到 [0, 255]; (3)b:亮度调整stretched=(image-I_min)/(I_max-I_min)*(O_max-O_min)+O_min stretched=np.clip(stretched,0,255).astype(np.uint8)returnstretchedif__name__=='__main__':importtifffile image=tifffile.imread(r"F:\py\YH220_235.tif")# image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)stretched_image=contrast_stretching(image)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmap='gray'),plt.title('image'),plt.axis('off')plt.subplot(1,2,2),plt.imshow(stretched_image,cmap='gray'),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 image=tifffile.imread(r"F:\py\YH220_235.tif")# image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)C_and_B=cv2.convertScaleAbs(image,alpha=2.0,beta=30)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmap='gray'),plt.title('image'),plt.axis('off')plt.subplot(1,2,2),plt.imshow(C_and_B,cmap='gray'),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,c=255):# 指数变换normalized_image=image/255.0exp_image=c*(np.exp(normalized_image)-1)exp_image=np.clip(exp_image,0,255).astype(np.uint8)returnexp_imageif__name__=='__main__':importtifffile image=tifffile.imread(r"F:\py\YH220_235.tif")# image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)exp_image=exponential_transformation(image,c=255)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmap='gray'),plt.title('image'),plt.axis('off')plt.subplot(1,2,2),plt.imshow(exp_image,cmap='gray'),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])。# γ 是伽马值,控制图像的亮度和对比度调整。# (1)0 < γ < 1 使图像的暗部变亮,适合处理偏暗的图像。# (2)γ > 1 使图像的亮部变,适合处理过曝光的图像。# 常见伽马值推荐:# γ≈0.4−0.7:适合亮度偏低的图像,使暗部变亮。# γ≈1.5−2.5:适合亮度过高的图像,压缩高亮度区域。importcv2importnumpyasnpdefgamma_transformation(image,gamma=1.0):# 伽马变换inv_gamma=1.0/gamma gamma_table=np.array([((i/255.0)**inv_gamma)*255foriinnp.arange(0,256)]).astype("uint8")returncv2.LUT(image,gamma_table)if__name__=='__main__':importtifffile image=tifffile.imread(r"F:\py\YH220_235.tif")# image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)gamma_image=gamma_transformation(image,gamma=2.0)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmap='gray'),plt.title('image'),plt.axis('off')plt.subplot(1,2,2),plt.imshow(gamma_image,cmap='gray'),plt.title('gamma_image'),plt.axis('off')plt.show()

1.2.3、对数变换(Logarithmic Transformation)

原理:对灰度值取对数,压缩高亮度区域,提升暗部细节。

# 公式如下:O(x,y)=c*log(1+I(x,y))# 其中: O(x,y) 是输出图像的像素值# I(x,y) 是输入图像的像素值# log 是自然对数函数# c 是比例常数。(1)c 的值越大,图像的整体亮度越高;(2)较小的 c 值会使图像变得更暗。# 常用的经验值:若输入图像的灰度值范围是 [0, 255],则通常 c=255/log(256)≈45.98,以确保变换后像素值仍保持在[0, 255]。importcv2importnumpyasnpdeflogarithmic_transformation(image,c=1):# 对数变换log_image=c*(np.log1p(image.astype(np.float32)))# log1p 是 log(1 + x)log_image=np.clip(log_image,0,255).astype(np.uint8)returnlog_imageif__name__=='__main__':importtifffile image=tifffile.imread(r"F:\py\YH220_235.tif")# image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)log_image=logarithmic_transformation(image,c=40)importmatplotlib.pyplotasplt plt.subplot(1,2,1),plt.imshow(image,cmap='gray'),plt.title('image'),plt.axis('off')plt.subplot(1,2,2),plt.imshow(log_image,cmap='gray'),plt.title('log_image'),plt.axis('off')plt.show()

二、直方图均衡化

直方图 + 直方图均衡化 + 自适应直方图均衡化

2.1、直方图均衡化(Histogram Equalization,HE)

2.2、限制对比度自适应直方图均衡化(Contrast Limited Adaptive Histogram Equalization,CLAHE)

三、空间域(增强)

在图像处理中,空间域增强方法直接操作图像的像素值,常用于提高图像的可视性和特征表现。

3.1、线性滤波(Linear Filtering)

图像滤波(方框 + 均值 + 高斯 + 中值)

方框滤波(Box Filtering

均值滤波(Mean Filter)

高斯滤波(Gaussian Filter)

锐化滤波(Sharpening Filter)

3.2、非线性滤波(Non-linear Filtering)

图像滤波(方框 + 均值 + 高斯 + 中值)

中值滤波(Median Filter)

双边滤波(Bilateral Filter)

最小/最大滤波(Min/Max Filter)

自适应中值滤波(Adaptive Median Filtering)

形态学滤波(Morphological Filtering)

3.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 Filtering)

4.2、小波变换(Wavelet Transform)

  • 小波变换(Wavelet Transform)
  • 离散小波变换(Discrete Wavelet Transform, DWT)
  • 连续小波变换(Continuous Wavelet Transform, CWT)
  • 小波包变换(Wavelet Packet Transform, WPT)
  • 小波逆变换(Inverse Wavelet Transform)
  • 多分辨率分析(Multiresolution Analysis, MRA)
  • Haar 小波变换(Haar Wavelet Transform)
  • Daubechies 小波变换(Daubechies Wavelet Transform)

五、深度学习

图像增强旨在改善图像的视觉质量,强调细节、对比度和清晰度等,以提升图像的视觉效果或为后续的计算机视觉任务提供支持。
(1)传统图像增强方法多基于像素层面的操作;
(2)深度学习方法则依靠数据驱动,通过复杂的神经网络结构对图像特征进行非线性处理,提升增强效果。

5.1、卷积神经网络 (Convolutional Neural Networks,CNNs)

特点:CNN 具有强大的局部特征提取能力,适合处理图像增强任务。它们通过卷积层提取图像的局部信息,再通过多个卷积和池化层逐步获得高级特征。

  • 去噪:DnCNN(Denoising Convolutional Neural Network)模型采用卷积网络结构,有效去除高斯噪声、混合噪声。
  • 超分辨率重建:SRCNN(Super-Resolution CNN)通过简单的卷积网络结构,将低分辨率图像恢复到高分辨率。
  • 去模糊:DeblurGAN 使用生成对抗网络 (GAN) 框架结合 CNN 模型来消除图像模糊,恢复图像清晰度。

5.2、生成对抗网络 (Generative Adversarial Networks,GANs)

特点:GAN 由生成器和判别器组成,通过相互博弈生成逼真的图像增强结果。生成器生成图像,判别器判断生成图像的真实性,经过不断对抗优化,使生成器输出的图像逐渐逼真。

  • 图像修复:SRGAN(Super-Resolution GAN)用于图像超分辨率,生成更加逼真的高分辨率图像。
  • 图像去雨、去雾:DeRainGAN 和 DehazeGAN 分别针对下雨、雾霾等特殊天气条件,通过对抗生成使图像清晰可见。
  • 风格转换:CycleGAN 实现图像风格转换(如白天到夜晚、晴天到雨天等),保持内容不变的情况下,增强图像的特定风格。

5.3、变分自编码器 (Variational Autoencoders,VAEs)

特点:VAE 通过在编码器和解码器之间加入噪声的方式对输入图像进行分布建模,可生成多种可能的增强效果。

  • 图像补全:使用部分破损的图像生成完整图像,VAE 模型通过生成不同潜在空间的样本来推测丢失区域。
  • 图像去噪:CVAE(Conditional VAE)模型能去除不同类型的噪声,生成更干净的图像。
  • 图像增强:将输入低质量图像的潜在特征分布与高质量图像对齐,以增强图像质量。

5.4、注意力机制 (Attention Mechanism)

特点:注意力机制可引导模型关注图像中的重要区域,以便对这些区域进行重点增强,从而提高增强效果的针对性。

  • 去模糊:使用注意力机制加权模糊区域,选择性去除模糊,如 DMPHN(Deep Multi-Patch Hierarchical Network)。
  • 超分辨率重建:SAN(Second-order Attention Network for Image Super-resolution)在图像超分辨率中利用注意力机制提升局部清晰度。
  • 低光增强:通过注意力模块识别低光区域,增强其亮度和对比度,使暗光图像更加清晰。

5.5、变换网络 (Transformers)

特点:变换网络基于自注意力机制,可以捕获图像全局信息,对复杂图像内容的增强处理尤其有效。

  • 去模糊:Uformer 和 Restormer 是基于变换器的模型,能够高效处理去模糊和去噪任务。
  • 图像恢复:SwinIR(Swin Transformer for Image Restoration)在超分辨率、去噪等任务中表现优异,可通过长距离的自注意力机制获得精细化的恢复效果。
  • 图像超分辨率:ViT(Vision Transformer)模型通过全局信息捕获提升超分辨率结果,避免细节丢失。

5.6、自监督学习 (Self-Supervised Learning)

特点:自监督方法通过设定伪标签,在不需要大量人工标注的情况下增强图像,并在任务中学习图像的特征和结构。

  • 图像去噪和修复:Noise2Void 和 Noise2Self 模型利用自监督机制在不需要干净标签的情况下完成去噪。
  • 图像增强:SimCLR 和 MoCo 等自监督方法提取增强图像特征,用于对比学习以提升增强效果。
  • 低光增强:通过自监督生成高质量的低光图像,提升图像的亮度、对比度和细节。
http://www.rkmt.cn/news/1496997.html

相关文章:

  • 2026年广州公司注册代办与资质办理优选机构深度评测:全流程服务与税务异常解决能力解析 - 品牌发掘
  • 从PDF到结构化数据:用Marker实现高效文档智能转换的完整指南
  • 告别Wireshark GUI:用tshark命令行5分钟搞定批量数据包分析与拆分
  • 2026最新的 国内以及河北地区防静电橡胶板生产厂家实力排行及采购参考 防静电橡胶板 - 奔跑123
  • 2026石家庄黄金回收排行:收的顶领跑,正规变现更安心 - 奢侈品回收测评
  • 终极指南:如何用De-Bloater快速清理Android系统垃圾应用
  • 突破性轻量化方案:零门槛实现AI数字人创作
  • 终极社交媒体数据解决方案:TikHub API Python SDK 完整指南
  • ADS 2024 实战:手把手教你用负载牵引优化功放效率(从72%到78%)
  • 从汽车到无人机:手把手教你为STM32C8T6的CAN接口配置不同场景的波特率
  • 南京高考复读机构哪家好?2026 综合实力排名完整榜单 - 速递信息
  • Wan2.2提示词扩展技术:从新手到专业导演的AI视频创作指南
  • react19【系列实用教程】useReducer(含 useImmerReducer ) —— 升级版的 useState (2026最新版)
  • 2026济南黄金回收避坑指南!别再被扣费套路骗钱,内行都选这家正规店 - 奢侈品回收评测
  • 2026免费更换背景软件保姆级教程,手机电脑多款工具手把手教你用 - 办公小帮手
  • 从‘装箱问题’到快递打包:用C++模拟优化你的包裹空间(附完整代码)
  • 2026年6月网站制作工具横评:八大产品价格、功能与服务对比 - 比文云BBWEYY餐宝盈
  • LLM Engine微调指南:使用自定义数据训练专属大语言模型的完整教程 [特殊字符]
  • 壹家俄餐中央大街店:正宗俄式餐厅/俄餐厅/生日聚会餐厅/网红餐厅/俄餐,深耕哈尔滨,地道风味之选 - 十大品牌榜
  • audioMotion-analyzer多实例应用:构建复杂音频可视化系统的最佳实践
  • 3步实战指南:从海量Python库中快速筛选出最适合你的工具
  • USBMap深度解析:揭秘macOS USB端口映射的实战指南
  • Tengine企业级Web服务器:5大核心优势与高性能负载均衡架构深度解析
  • 深圳市白蚁防治中心如何灭白蚁,深圳家庭灭白蚁注意事项 - 企业品牌
  • MaxKB企业级知识库:如何用自动化网页抓取构建实时更新的智能大脑
  • 为什么选择Angular-Node-Java-AI?2024年全栈AI开发的5大关键优势
  • 创新跨平台EPUB阅读解决方案:Awaken技术深度解析与实战指南
  • 同城拼车小程序地理位置定位技术实现:百度地图API集成完整教程
  • 深度学习模型转换终极指南:从TensorFlow到CoreML的完整流程
  • Atlas-OS:开源Windows优化方案,让你的旧电脑焕发第二春