Numpy OpenCV:用背景色替换遮罩

Numpy OpenCV:用背景色替换遮罩,numpy,opencv,Numpy,Opencv,我想在图像上应用遮罩操作,我的最终目标是完全移除遮罩并用背景色替换它 以下是一个图像示例: 面具: 我使用了cv2.bitwise\u not,但输出不是完全删除 res = cv2.bitwise_not(img,img,mask=closex) 我假设有一个numpy操作可以做到这一点。尝试使用: import cv2 img = cv2.imread("theBaseImage.jpg", 1) mask = cv2.imread("theImageToUseAsMask.jpg"

我想在图像上应用遮罩操作,我的最终目标是完全移除遮罩并用背景色替换它

以下是一个图像示例:

面具:

我使用了
cv2.bitwise\u not
,但输出不是完全删除

res = cv2.bitwise_not(img,img,mask=closex)

我假设有一个numpy操作可以做到这一点。

尝试使用:

import cv2
img = cv2.imread("theBaseImage.jpg", 1)
mask = cv2.imread("theImageToUseAsMask.jpg", 1)
whiteOut = cv2.add(mask, img) #add your images, making the desired regions white
cv2.imwrite("maskedImage.jpg", whiteOut)
这将产生下图:


太好了,虽然遮罩部分是白色的,但我没有考虑添加它们。谢谢@艾哈迈多萨很高兴我能帮忙:)