您的位置首页百科知识

使用Gamma校正调整图像亮度大小(python)

使用Gamma校正调整图像亮度大小(python)

的有关信息介绍如下:

使用Gamma校正调整图像亮度大小(python)

调整图片亮度是常见操作,方法也有多种。比如颜色空间转换或者y=kx+b线性处理方法等都可以实现亮度调整。而Gamma校正作为一种非线性方法也经常使用。

1) Gamma校正:就是为了调整图像亮度或者对比度而产生的一种方法。采用指数方式进行数学表达。 gray**gamma.

2) gamma选择:根据显示器的偏色情况 gamma常用的2,2,系数为1/gamma = 0.45

3)gamma = 1 则无变化

4)gamma值小于1 图像整体变亮

5)gamma值大于1 图像整体变暗

import numpy as np

import cv2 as cv

import math

image = cv.imread("c:\\meiping1.png")

cv.imshow("image", image)

gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)

cv.imshow("gray", gray)

gamma =1情况:

imageR1p0 = np.power(gray / 255.0, 1)

cv.imshow("imageR1p0", imageR1p0)

gamma =2.2 情况: 也就是0.45

imageR2p2 = np.power(gray / 255.0, 2.2) #0.45 显示器的伽玛值cv.imshow("imageR2p2", imageR2p2)

gamma =0.45情况: 也就是2.2

imageR0p4 = np.power(gray / 255.0, 0.454) #0.454cv.imshow("imageR0p4", imageR0p4)

import numpy as npimport cv2 as cvimport mathimage = cv.imread("c:\\meiping1.png")cv.imshow("image", image)gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)cv.imshow("gray", gray)imageR1p0 = np.power(gray / 255.0, 1)cv.imshow("imageR1p0", imageR1p0)imageR2p2 = np.power(gray / 255.0, 2.2) #0.45 CRT的伽玛值cv.imshow("imageR2p2", imageR2p2)imageR0p4 = np.power(gray / 255.0, 0.454) #2.2cv.imshow("imageR0p4", imageR0p4)imageR2p8 = np.power(gray / 255.0, 2.8) #0.35 显像管伽玛值

cv.imshow("imageR2p8", imageR2p8)cv.waitKey(0)cv.destroyAllWindows()