我想把一幅图像重新着色成另一种基色,但这样可以保持渐变。例如,在这张照片中,底色是绿色。
import numpy as np
import cv2
dg = [0,59,10]
mg = [0,91,16]
lg = [0,106,18]
db = [92,71,0]
mb = [153,119,0]
lb = [204,163,93]
im = cv2.imread("C:/Temp/recolor_source.png")
im[np.where((im == dg).all(axis=2))] = db
im[np.where((im == mg).all(axis=2))] = mb
im[np.where((im == lg).all(axis=2))] = lb
cv2.imwrite("C:/Temp/recolor_result.png", im)
结果如下: