将掩码替换为原始图像opencv Python

将掩码替换为原始图像opencv Python,python,image,opencv,where,bit-masks,Python,Image,Opencv,Where,Bit Masks,我试图用原始图像像素替换使用遮罩找到的对象。我有一个遮罩,在没有检测到物体的地方显示黑色,在检测到物体的地方显示白色。然后我在where语句中使用该图像 image[np.where((image2 == [255,255,255].any(axis = 2)) 我被困在这里,我不知道如何将找到的白色值更改为原始图像(与其他遮罩一起使用)。我尝试了image.shape,但没有成功 谢谢。复制掩模,然后从白色像素坐标在掩模的白色像素上绘制原始图像。您还可以选中mask==255,以按元素进行

我试图用原始图像像素替换使用遮罩找到的对象。我有一个遮罩,在没有检测到物体的地方显示黑色,在检测到物体的地方显示白色。然后我在where语句中使用该图像

image[np.where((image2 == [255,255,255].any(axis = 2)) 
我被困在这里,我不知道如何将找到的白色值更改为原始图像(与其他遮罩一起使用)。我尝试了
image.shape
,但没有成功


谢谢。

复制掩模,然后从白色像素坐标在掩模的白色像素上绘制原始图像。您还可以选中
mask==255
,以按元素进行比较。您不需要np.where,因为您可以通过
mask==255创建的布尔掩码对数组进行索引

out = mask.copy()
out[mask == 255] = original_image[mask == 255]

您可以使用位操作。试试这个:

replaced_image = cv2.bitwise_and(original_image,original_image,mask = your_mask)
参观 要了解有关逐位运算的更多信息,请执行以下操作: