图像的伽马变换

  伽马变换(Gamma Correction)是一种在图像处理中常用的非线性变换方法,用于调整图像的亮度和对比度。它在图像的像素值上应用一个幂次函数,以改变图像的灰度级分布,从而影响图像的感知亮度。伽马变换通常用于纠正显示器的非线性响应以及在低光照条件下拍摄的图像的亮度调整。
  伽马变换的原理:在图像处理中,原始图像的亮度与显示器或摄像机的响应并不总是线性关系。伽马变换通过对每个像素的值应用一个幂函数来调整图像的亮度分布。这个幂函数的参数称为伽马值(γ),它可以用来控制图像的对比度和明暗程度。
  公式表示为:
I out = I in γ   I_{\text{out}} = I_{\text{in}}^\gamma\ Iout=Iinγ 
  其中, 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 np

class Gamma:
    def __init__(self,input_path,gama):
        self.input_path=input_path
        self.gama=gama

    def gamma_correction(self):
        img=cv2.imread(self.input_path,flags=0)
        if img is None:
            print('Unable to load image!')
        else:
            print('Load image successfully!')

            for i in range(len(self.gama)):
                corrected_image=np.power(img/255,self.gama[i])*255
                corrected_image=np.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]
img=Gamma(imgfile,gamalist)
coorected_img=img.gamma_correction()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Make_magic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值