美文网首页
opencv+python学习记录(九)伽马变换

opencv+python学习记录(九)伽马变换

作者: 三味菜551 | 来源:发表于2019-04-27 16:59 被阅读0次

    一、什么是Gamma变换

    Gamma变换是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系:

    这个指数即为Gamma。

    Gamma变换就是用来图像增强,其提升了暗部细节,简单来说就是通过非线性变换,让图像从暴光强度的线性响应变得更接近人眼感受的响应,即将漂白(相机曝光)或过暗(曝光不足)的图片,进行矫正。

    二、Gamma变换的基本形式

    大于1时,对图像的灰度分布直方图具有拉伸作用(使灰度向高灰度值延展),如果图像整体或者感兴趣区域较暗,则Gamma>1,可以降低图像对比度;而小于1时,对图像的灰度分布直方图具有收缩作用(是使灰度向低灰度值方向靠拢),如果图像整体或者感兴趣区域较亮,则Gamma<1,可以增加图像对比度。

    #-*-coding:utf-8-*-

    import cv2 as cv

    import numpy as np

    if __name__== "__main__":

        print("---------------Hello python ------------")

        filename= ("huise.jpg")

        src= cv.imread(filename)

        fsrc= src/255.0  # 归一化到[0,1]

        gamma= 0.5

        O= np.power(fsrc, gamma)

        clahe= cv.createCLAHE(clipLimit=2.0, tileGridSize=(8,8)) #自适应直方图均衡化

        gray_image= cv.cvtColor(src, cv.COLOR_BGR2GRAY)

        dst= clahe.apply(gray_image)# 转为gray

        cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)

        cv.imshow("input image", src)

        cv.imshow("O", O)

        cv.imshow("clahe", dst)

        cv.waitKey(0)

        cv.destroyAllWindows()

    相关文章

      网友评论

          本文标题:opencv+python学习记录(九)伽马变换

          本文链接:https://www.haomeiwen.com/subject/ruvknqtx.html