1、伽玛变换
又叫做幂律变换,伽玛变换是一种图像增强的方法,伽玛变换的表达式 S = C ∗ r γ S = C*r^{\gamma} S=C∗rγ其中r为输入的灰度值,[0,1],C为灰度缩放系数, γ \gamma γ为伽玛因子大小,S为经过变换以后的灰度值,具体趋势如下图所示。
图像来源
2、代码实现
def gamma_transformation(image):
c1 = 5
c2 = 5
c3 = 5
gamma1 = 0.9
gamma2 = 1.8
gamma3 = 2.7
cImage = np.copy(image/255.0)
GTImage1 = c1 * np.power(cImage,gamma1)
GTImage2 = c2 * np.power(cImage, gamma2)
GTImage3 = c3 * np.power(cImage, gamma3)
#将前两张图水平相连
img1 = np.hstack([cImage,GTImage1])
#将后两张图水平相连
img2 = np.hstack([GTImage2,GTImage3])
#将img1与img2垂直相连
img = np.vstack([img1,img2])
cv.imshow('Result',img)
cv.waitKey()
3、效果呈现
4、总结
在伽玛变换中, γ \gamma γ小于1时,能增强图像的亮度,将灰度值较小的像素快速放大,当 γ \gamma γ较大时,将灰度值较大的像素急剧增大,增强图像的对比度。