阅读 146

opencv-python图像处理之让你的照片变旧

让你的照片变旧只需对图片的颜色空间进行处理既可;
只需要对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()


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐