# 对单通道的处理函数defchannel_equalize(img):
od = img.reshape(-1)# 对像素计数
tmp ={}for num in od:
tmp[num]= tmp.get(num,0)+1
tmp_list =list(tmp.items())
tmp_list =sorted(tmp_list, key=lambda x:x[0], reverse=False)
n ={}for data in tmp_list:
n[data[0]]= data[1]# 像素分布频率for key, _ in n.items():
n[key]/=len(od)# 像素累计分布频率
pre =0for key, _ in n.items():
pre += n[key]
n[key]= pre
# 均衡化for key, _ in n.items():
n[key]=int(n[key]*(len(n)-1)+1)for i inrange(img.shape[0]):for j inrange(img.shape[1]):
img[i, j]= n[img[i, j]]return img