通过合并 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)
组合面膜:
我有两个蒙版和所需的蒙版结果如下所示:
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)
组合面膜: