将一张照片的背景更改为另一张照片,且可以更换主图的大小为背景图。使用时可以根据需要删减功能。
# 更改照片背景,更改照片尺寸 import cv2 def re_2_bg(img1,img2,newname='new.jpg'): # 背景图 img1 = cv2.imread(img1) # 主图 img2 = cv2.imread(img2) # 获得背景图片长宽 h,w = img2.shape[0],img2.shape[1] # 将主图尺寸变换为背景图 img1 = cv2.resize(img1,(w,h)) # 获得主图的每个点的bgr for row in range(h): for col in range(w): (b,g,r) = img1[row,col] # 核心代码 # 像素替换,且这个数字需要自己实验,才能具体确定,要找到最合适颜色的点 if r>=219: img1[row,col] = img2[row,col] # 像素替换就是照片替换 cv2.imwrite(newname,img1) # 保存图片 cv2.imshow('img1',img1) img1 = './2.jpg' img2 = './7.jpg' re_2_bg(img1,img2)