让你的照片变旧只需对图片的颜色空间进行处理既可;
只需要对RGB这三个通道进行如下变换既可以
R= 0.394*r+ 0.768*g+ 0.188*b G= 0.347*r + 0.685*g+ 0.167* b B= 0.273*r+ 0.536*g+ 0.132 * b 其中,r、g、b分别代表输人的原图某一点图像像素的RGB值; R、G、B代表了该点变换后的 RGB值,注意变换后的RGB值要约束在0 ~ 255 之间。
代码如下
import cv2def retro_style(img):img2 = img.copy()height,width, n = img.shapefor i in range(height):for j in range(width):b = img[i, j][0]g = img[i, j][1]r = img[i, j][2]# 计算新的图像中的RGB值B = int(0.273 * r + 0.535 * g + 0.131 * b)G = int(0.347 * r + 0.683 * g + 0.167 * b)R = int(0.395 * r + 0.763 * g + 0.188 * b) # 约束图像像素值,防止溢出img2[i, j][0] = max(0, min(B, 255))img2[i, j][1] = max(0, min(G, 255))img2[i, j][2] = max(0, min(R, 255))cv2.imshow("retroimg", img2)cv2.waitKey(0)def main():img = cv2.imread('/home/dfy/PycharmProjects/GAN-TTS-master/sss.jpg')retro_style(img) if __name__ == '__main__':main()