cms网站模板,漯河住房建设局网站,制作人在线完整免费观看韩剧网,工程公司简介范文大全伽马变换#xff08;Gamma Correction#xff09;是一种在图像处理中常用的非线性变换方法#xff0c;用于调整图像的亮度和对比度。它在图像的像素值上应用一个幂次函数#xff0c;以改变图像的灰度级分布#xff0c;从而影响图像的感知亮度。伽马变换通常用于纠正显示器… 伽马变换Gamma Correction是一种在图像处理中常用的非线性变换方法用于调整图像的亮度和对比度。它在图像的像素值上应用一个幂次函数以改变图像的灰度级分布从而影响图像的感知亮度。伽马变换通常用于纠正显示器的非线性响应以及在低光照条件下拍摄的图像的亮度调整。 伽马变换的原理在图像处理中原始图像的亮度与显示器或摄像机的响应并不总是线性关系。伽马变换通过对每个像素的值应用一个幂函数来调整图像的亮度分布。这个幂函数的参数称为伽马值γ它可以用来控制图像的对比度和明暗程度。 公式表示为 I out I in γ I_{\text{out}} I_{\text{in}}^\gamma\ IoutIinγ 其中 I in I_{\text{in}} Iin是输入图像的像素值 I out I_{\text{out}} Iout是输出图像的像素值 γ \gamma γ是伽马值通常取大于0的实数。 伽马值gamma控制了变换的曲率。当 gamma 1时图像的低亮度部分会被拉伸从而增强了图像的对比度。当 gamma 1时图像的高亮度部分会被拉伸从而减弱了图像的对比度。 伽马变换的意义和适用场景伽马变换可以用于调整图像的感知亮度和对比度使得图像在显示设备上或特定环境中更容易观察和分析。它在以下情况下特别有用 纠正显示器的非线性响应显示器通常具有非线性的光强-显示响应曲线。通过应用适当的伽马变换可以纠正这种非线性响应使图像在显示器上呈现更准确的亮度和对比度。 调整低光照图像在低光照条件下拍摄的图像通常会变得模糊且缺乏对比度。通过应用伽马变换可以增强图像的细节和对比度使其更容易分析。 以下是使用OpenCV进行图像伽马变换的代码示例
import cv2
import numpy as npclass Gamma:def __init__(self,input_path,gama):self.input_pathinput_pathself.gamagamadef gamma_correction(self):imgcv2.imread(self.input_path,flags0)if img is None:print(Unable to load image)else:print(Load image successfully!)for i in range(len(self.gama)):corrected_imagenp.power(img/255,self.gama[i])*255corrected_imagenp.clip(corrected_image,0,255).astype(np.uint8)self.img_show(corrected_image)def img_show(self,image):cv2.namedWindow(image, cv2.WINDOW_FREERATIO)cv2.imshow(image, image)cv2.waitKey(0)cv2.destroyAllWindows()imgfile ./Images/cat.jpg
gamalist[0.3,0.4,0.8,1.2,1.5]
imgGamma(imgfile,gamalist)
coorected_imgimg.gamma_correction()