print("==读取源图片==") s = cv2.imread('source.jpg') s = cv2.cvtColor(s, cv2.COLOR_BGR2LAB) print("==读取目标图片==") t = cv2.imread('target.jpg') t = cv2.cvtColor(t, cv2.COLOR_BGR2LAB)
height, width, channel = s.shape # print(height, width, channel) # 385 383 3 (1*3) for i inrange(0, height): for j inrange(0, width): for k inrange(0, channel): x = s[i, j, k] # 归一化处理 x = ((x-s_mean[k]) * (t_std[k] / s_std[k])) + t_mean[k] # 返回最接近的整数 x = round(x) # 越界矫正 x = 0if x < 0else x x = 255if x > 255else x s[i, j, k] = x
s = cv2.cvtColor(s, cv2.COLOR_LAB2BGR) print("==保存转换好的图片==") cv2.imwrite('result.jpg', s)