首页 > 其他分享 >图像增强方法

图像增强方法

时间:2024-08-10 09:26:04浏览次数:15  
标签:plt 锐化 image 伽玛 图像 对比度 方法 图像增强

2.1 直方图均衡化 (Histogram Equalization)

介绍

直方图均衡化是一种图像处理技术,用于增强图像的对比度。通过调整图像的灰度值分布,使得图像的细节更加清晰。

原理

直方图均衡化通过累积分布函数(CDF)重新分配灰度值,使得图像的像素值分布更加均匀,从而提升图像的整体对比度。

公式
  • 累积分布函数 (CDF):

其中,h(i) 表示灰度值为 i 的像素数量,N 是图像的总像素数。

案例:医学影像对比度增强

使用Python和OpenCV进行直方图均衡化。

在医学影像处理中,直方图均衡化可以用来增强低对比度图像中的细节,例如X光片的处理。

代码解析
import cv2
import matplotlib.pyplot as plt

# 读取图像
image = cv2.imread('image.jpg', 0)

# 进行直方图均衡化
equ = cv2.equalizeHist(image)

# 显示原始图像和均衡化结果
plt.subplot(121), plt.imshow(image, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])

plt.subplot(122), plt.imshow(equ, cmap='gray')
plt.title('Equalized Image'), plt.xticks([]), plt.yticks([])

plt.show()

生活场景案例

直方图均衡化在医疗影像处理中,能够有效提高X光片等低对比度图像的细节可见性,有助于医生进行更准确的诊断。

总结

直方图均衡化通过重新分配灰度值,提高图像的对比度和细节显示效果,广泛应用于低对比度图像的处理。

2.2 伽玛校正 (Gamma Correction)

介绍

伽玛校正是一种非线性图像处理技术,用于调整图像的亮度和对比度。通过改变图像的灰度值分布,使图像更加自然、真实。

原理

伽玛校正通过对灰度值进行非线性变换来调整图像的亮度和对比度。对于不同的伽玛值,可以使得图像变得更亮或更暗。

公式
  • 伽玛校正:

其中,Iout 为校正后的像素值,Iin 为原始像素值,γ 为伽玛值。

案例:显示设备伽玛校正

使用Python和OpenCV进行伽玛校正。

在显示设备上应用伽玛校正,使得图像的亮度和对比度更符合人眼的视觉特性。

代码解析
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 读取图像
image = cv2.imread('image.jpg', 0)

# 进行伽玛校正
gamma = 2.2
gamma_corrected = np.array(255 * (image / 255) ** gamma, dtype='uint8')

# 显示原始图像和伽玛校正结果
plt.subplot(121), plt.imshow(image, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])

plt.subplot(122), plt.imshow(gamma_corrected, cmap='gray')
plt.title('Gamma Corrected Image'), plt.xticks([]), plt.yticks([])

plt.show()

生活场景案例

伽玛校正在图像显示和打印中广泛应用,调整图像的亮度和对比度。

总结

伽玛校正通过非线性变换调整图像的亮度和对比度,使图像显示效果更加自然。

2.3 锐化滤波器 (Sharpening Filters)

介绍

锐化滤波器是一类增强图像细节的滤波器,用于提高图像的清晰度。它可以增强图像中的边缘,使图像中的细节更加突出。

原理

锐化滤波器通过增强图像中的高频成分(例如边缘和细节),实现图像的锐化。常用的方法包括拉普拉斯滤波和Unsharp Masking。

公式
  • 锐化公式:

其中,∇2 是拉普拉斯算子,α 是锐化强度参数。

案例:医学图像细节增强

使用Python和OpenCV进行图像锐化。

在医学图像处理中,锐化滤波器可以用于增强X光片、CT扫描图像中的细节,使得医生能够更清晰地观察病变区域。

代码解析
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 读取图像
image = cv2.imread('image.jpg', 0)

# 进行锐化滤波
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]])
sharpened = cv2.filter2D(image, -1, kernel)

# 显示原始图像和锐化结果
plt.subplot(121), plt.imshow(image, cmap='gray')
plt.title('Original Image'), plt.xticks([]), plt.yticks([])

plt.subplot(122), plt.imshow(sharpened, cmap='gray')
plt.title('Sharpened Image'), plt.xticks([]), plt.yticks([])

plt.show()

生活场景案例

锐化滤波器在医学图像处理、遥感图像处理和摄影后期处理中广泛应用,特别是在需要增强细节的场景中使用。

总结

锐化滤波器通过增强图像的高频成分,提高图像的清晰度和细节显示效果,在多个图像处理领域具有重要的应用价值。

标签:plt,锐化,image,伽玛,图像,对比度,方法,图像增强
From: https://blog.csdn.net/LS_Ai/article/details/141086009

相关文章

  • 【人工智能】常用的人工智能框架、模型、使用方法、应用场景以及代码实例的概述
    人工智能(AI)领域涉及众多框架和模型,这些框架和模型为开发人员提供了强大的工具,以构建和训练各种AI应用。以下是一些常用的人工智能框架、模型、使用方法、应用场景以及代码实例的概述。一、常用框架1.TensorFlow简介:TensorFlow是一个由谷歌开发的开源深度学习框架,支持大规模......
  • 面对员工的抱怨,该怎么办?教你4个方法,定能妥善处理!
    面对员工的抱怨,该怎么办?教你4个方法,定能妥善处理!一:给员工一个反映意见的平台在这个平台上,员工可以畅所欲言,作为管理者,不能只是允许员工去歌颂企业,而不允许员工提出一些批评和建议。每个管理者都希望在批评员工的时候,不管对错都先接受;同样的,作为管理者,面对员工的抱怨或批评更......
  • 【深度学习】基于YOLOV5模型的图像识别-目标检测的性能指标详解与计算方法
    目标检测是计算机视觉中的重要任务,主要目的是在图像中识别并定位特定的物体。YOLO(YouOnlyLookOnce)系列模型作为目标检测领域的代表性方法之一,凭借其高效和准确的特点,广泛应用于实际场景中。本文通过详细介绍目标检测的性能指标及其计算方法,帮助读者更好地理解和评估YOLO......
  • [jetson]jetson上torchvision源码下载地址汇总jetson上安装torchvision方法
    这个是jetson上使用的torchvision源码,解压后使用sudopython3setup.pyinstall即可安装,编译大约耗时30分钟完成,请耐心等待,安装这个源码之前您必须安装好由nvidia官方提供对应torchwhl文件,因此需要必须先安装好pytorch才能使用源码编译。目前我主要用这个源码给同学们安装......
  • Collection中的成员方法2 day12
    packagecom.shujia.day12;importjava.util.ArrayList;importjava.util.Collection;/*Collection中的成员方法:booleanaddAll(Collectionc)将直接添加另一个集合中所有单元素booleanremoveAll(Collectionc)从一个集合中移除另一个......
  • 怎样把微信里的私密好友隐藏起来?教你2种方法,简单实用
    在这个被数字浪潮深刻塑造的时代,微信,这一通讯巨擘,已然融入了我们生活的每一个角落,成为日常交流与工作的坚实桥梁。然而,在享受其带来的便捷与紧密连接的同时,我们也不得不面对隐私保护的微妙挑战,尤其是当个人空间与伴侣间的好奇心产生微妙碰撞时。如何在不牺牲信息完整性的前提下......
  • 浅析对象的clone()方法
    ......
  • 苹果手机怎么恢复出厂设置呢?有那些方法?
    恢复出厂设置通常是作为解决一系列手机问题的手段,例如:非系统BUG造成的手机卡死、内存不足造成的卡顿、手机相关设置操作失误造成密码忘记等情况。这是通过清除手机上的所有数据和设置实现的,包括应用程序、照片、联系人、消息和设置等。那么苹果手机怎么恢复出厂设置呢?一、苹......
  • 工厂模式【简单工厂工厂方法抽象工厂】
    简单工厂:将对象的创建封装在子类当中,客户不需要去手动创建对象,只需要调用一些接口传递不同的类型参数来创建对象。但是在一个工厂里存在多种产品,会导致工厂的频繁修改工厂方法:实现了不同的产品存在于不同的工厂,使其解耦抽象工厂:实现了不同的工厂里面不止一种产品 简单......
  • 《永劫无间》游戏崩溃提示缺少steam_api.dll文件怎么处理?永劫无间游戏弹窗“找不到ste
    在玩《永劫无间》时,如果遇到游戏崩溃并提示缺少steam_api.dll文件,这是一个常见的问题。可以尝试重新安装Steam平台,或者从可靠渠道获取该文件并放置到正确的游戏目录下,以恢复游戏的正常运行。本篇将为大家带来《永劫无间》游戏崩溃提示缺少steam_api.dll文件修复方法的内容,感兴......