python3, opencv3
pycharm win7环境
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 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)
gamma =2.2 情况: 也就是0.45imageR2p2 = np.power(gray / 255.0, 2.2) #0.45 显示器的伽玛值cv.imshow('imageR2p2', imageR2p2)
gamma =0.45情况: 也就是2.2imageR0p4 = 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()
注意gray / 255.0的用法 变成浮点。
gamma1 整体变暗