深度学习图像增强方法(一)

发布于:2025-07-17 ⋅ 阅读:(20) ⋅ 点赞:(0)

一、什么是图像增强?

图像增强是指通过一系列技术和方法对图像进行处理,以改善其视觉效果和特征表现。
在这里插入图片描述

1. 主要指标:

(1) 亮度(Brightness):

  • 影响图像的整体光照程度。
  • 确保图像在视觉上既不过暗也不过亮。

(2) 对比度(Contrast):

  • 增强图像中亮部和暗部之间的差异。
  • 使得细节更加明显,高对比度有助于更清晰地展示图像的纹理和特征。

(3) 清晰度(Sharpness):

  • 提高图像边缘的清晰度。
  • 使物体轮廓更加鲜明,便于细节识别。

(4) 色彩饱和度(Color Saturation):

  • 增强颜色的丰富性。
  • 使图像色彩更加鲜艳,提升视觉吸引力。

(5) 纹理(Texture):

  • 突出图像中的纹理细节。
  • 增强表面特征,对于医学影像和材料检测等领域尤为重要。

(6) 去噪(Denoising):

  • 降低图像中的噪声。
  • 提高信号质量,减少噪声对重要细节的干扰。

(7) 增强特征(Feature Enhancement):

  • 提高重要特征的可见性。
  • 方便观察和分析。

(8) 视觉一致性(Visual Consistency):

  • 确保图像不同区域在亮度、对比度和色彩表现上的一致性。
  • 便于用户进行全面分析。

2. 应用领域:

图像增强技术广泛应用于多个领域,包括:

  • 医学影像:改善X光、CT和MRI图像,以辅助医生诊断。
  • 卫星和遥感图像:增强地理数据,支持土地利用分类和环境监测。
  • 安防监控:提升监控视频质量,促进人脸识别和行为分析。
  • 工业检测:提高质量控制中的产品检测精度。
  • 图像搜索和检索:改善图像搜索结果的准确性和相关性。

二、亮度和对比度调整

1. 线性方法

(1) 灰度反转(Gray Inversion)

灰度反转是指将图像中的每个像素值反转,使得图像的亮部变暗,暗部变亮。具体来说,对于一个灰度图像,像素值范围通常是0到255,灰度反转后,像素值G’ = 255 - G,其中G是原始像素值,G’是反转后的像素值。

在这里插入图片描述

import cv2
import numpy as np
import matplotlib.pyplot as plt

def gray_inversion(image):
    """
    灰度反转
    :param image: 输入图像(灰度图像)
    :return: 处理后的图像
    """
    if len(image.shape) == 3:
        image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    inverted_image = 255 - image
    return inverted_image

def main():
    # 读取图像
    image = cv2.imread('example.jpg')
    if image is None:
        print("Error: Could not read image.")
        return

    # 灰度反转
    inverted_image = gray_inversion(image)

    # 显示原始图像和处理后的图像
    plt.figure(figsize=(8, 4))

    plt.subplot(1, 2, 1)
    plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
    plt.title('Original Image')
    plt.axis('off')

    plt.subplot(1, 2, 2)
    plt.imshow(inverted_image, cmap='gray')
    plt.title('Inverted Image')
    plt.axis('off')

    plt.tight_layout()
    plt.show()

if __name__ == "__main__":
    main()import cv2
import numpy as np
import matplotlib.pyplot as plt

def gray_inversion(image):
    """
    灰度反转
    :param image: 输入图像(灰度图像)
    :return: 处理后的图像
    """
    if len(image.shape) == 3:
        image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    inverted_image = 255 - image
    return inverted_image

def main():
    # 读取图像
    image = cv2.imread('example.jpg')
    if image is None:
        print("Error: Co

网站公告

今日签到

点亮在社区的每一天
去签到