通过合并 python 中的其他两个蒙版来创建新的灰度蒙版图像

create new grayscale mask image by merging two other masks in python

我有两个蒙版和所需的蒙版结果如下所示:

2 original masks and the desired result

我想通过组合前 2 个蒙版来创建所需的蒙版结果。但是,我只想在重叠时生成白色区域。如果它们不重叠,则该区域应保持黑色。我不确定如何进行。

目前我已经通过 cv2 导入了图像,并根据原始图像的尺寸创建了第三个 numpy 数组。然后我遍历两个掩码并根据两个值(255 或 0)是否相同设置条件。如果是,那么我想存储它们或将它们设置在新掩码中...:[=​​13=]

necrosis_mask_observer_1 = cv2.imread(mask1, 0)
necrosis_mask_observer_2 = cv2.imread(mask2, 0)

map = np.empty(necrosis_mask_observer_1.shape)

height, width = map.shape

# do something here?

for i in range(width):
     for j in range(height):

         necrosis_mask_observer_1_sum = necrosis_mask_observer_1[j : (j+1), i : (i+1)].sum()
         necrosis_mask_observer_2_sum = necrosis_mask_observer_2[j : (j+1), i : (i+1)].sum()

         if necrosis_mask_observer_1_sum == necrosis_mask_observer_2_sum:

         #do something here?
         else:
              continue 


你可以在 Python/OpenCV.

中使用按位与运算来做到这一点

掩码 1:

掩码 2:

import cv2

# read mask 1
mask1 = cv2.imread('mask1.png')

# read mask 2
mask2 = cv2.imread('mask2.png')

# combine mask
mask3 = cv2.bitwise_and(mask1,mask2)

# save result
cv2.imwrite("mask3.png",mask3)

# show result
cv2.imshow('mask3', mask3)
cv2.waitKey(0)

组合面膜: