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:
《python 替换图片中的某部分》

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

    原文作者:Python图像识别
    原文地址: https://blog.csdn.net/qq_28949847/article/details/122857908
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞