def histeq(img):
h=img.shape[0]
img_gray_1D=img.flatten()
img_gray_len=img_gray_1D.shape[0]
img_gray_int=(img_gray_1D+0.5).astype(np.uint8)
psk=np.zeros(256)
for i in range(img_gray_1D.shape[0]):
psk[(img_gray_int[i])]+=1
psk=[psk[i]/img_gray_len for i in range(256)]
cdf=np.zeros(256)
cdf[0]=psk[0]
for i in range(255):
cdf[i+1]=cdf[i]+psk[i+1]
img_gray_1D_re=np.array([255*cdf[img_gray_int[i]] for i in range(len(img_gray_int))])
img_re=img_gray_1D_re.reshape([h,-1])
plt.imshow(img_re,'gray')
plt.show()