import cv2
import math
import imutils
import numpy as np
o=cv2.imread('C:/Users/xpp/Desktop/Lena.png')#原始图像
cv2.imshow("original",o)
gamma=np.zeros((o.shape[0],o.shape[1],3),dtype=np.float32)#幂律变换
for i in range(o.shape[0]):
for j in range(o.shape[1]):
gamma[i,j,0]=math.pow(o[i,j,0],0.4)
gamma[i,j,1]=math.pow(o[i,j,1],0.4)
gamma[i,j,2]=math.pow(o[i,j,2],0.4)
cv2.normalize(gamma,gamma,0,255,cv2.NORM_MINMAX)#图像归一化
gamma=cv2.convertScaleAbs(gamma)
cv2.imshow("result",gamma)
cv2.waitKey()
cv2.destroyAllWindows()