python 替换图片中的某部分


import cv2

img1=cv2.imread('./data/img/mer.jpg')
img2=cv2.imread('./data/img/20220207_144920.jpg')

# 取出图片中所有值大于 233的
reddish = img2[:, :, 0] > 223
# 将 小于 223 的保留,大于 223的 全部置为 0
img2[reddish] = [0, 0, 0]
# 另一张图中True False 跟 img2相反
reddish = (reddish == False)
# 将 img1 中的 需要覆盖的区域,都置为 0
img1[reddish] = [0, 0, 0]
# 将两张图片相加
img_mer = cv2.add(img1, img2)
cv2.imwrite('img1.jpg', img1)
cv2.imwrite('img2.jpg', img2)
cv2.imwrite('mer.jpg', img_mer)



将图片1和图片2中的小人,叠加到background.jpg图片中。此方法是用> 223像素值,进行提取的,实际使用时,可自行调整。

效果:
background.jpg
python 替换图片中的某部分
图片1:
python 替换图片中的某部分
图片2:
python 替换图片中的某部分

合成效果:
python 替换图片中的某部分

上一篇:OpenCv-Python学习笔记(五):颜色空间转换


下一篇:最大连通域