python 替换图片中的某部分

B站对此代码进行视频讲解


import cv2

'''
1. 两张图片大小必须一致
2. 此方法用的是通道像素值进行提取的mask,最好的方式是,利用pha通道
3. B站:Python图像识别,分享工作中的脚本、项目、经验等。
'''
img_background=cv2.imread('./background.jpg')
img_1=cv2.imread('./1.jpg')

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


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

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

合成效果:
python 替换图片中的某部分_第3张图片

你可能感兴趣的:(OpenCV,Python,person_code,python,计算机视觉,深度学习)