假设我在这里有一个灰度图像:python - 如何用二进制蒙版蒙版图像-LMLPHP

还有一个二进制蒙版图像:
python - 如何用二进制蒙版蒙版图像-LMLPHP

具有相同的尺寸和形状。我如何生成这样的东西:
python - 如何用二进制蒙版蒙版图像-LMLPHP

在二进制掩码中由1表示的值是实际值,而掩码中为0的值在最终图像中为空。

最佳答案

使用 cv2.bitwise_and 使用二进制蒙版对图像进行蒙版。将保留遮罩上的所有白色像素(值为1),而黑色像素(值为0)将被忽略。这是一个例子:

输入图像(左),遮罩(右)


遮罩后的结果


import cv2
import numpy as np

# Load image, create mask, and draw white circle on mask
image = cv2.imread('1.jpeg')
mask = np.zeros(image.shape, dtype=np.uint8)
mask = cv2.circle(mask, (260, 300), 225, (255,255,255), -1)

# Mask input image with binary mask
result = cv2.bitwise_and(image, mask)
# Color background white
result[mask==0] = 255 # Optional

cv2.imshow('image', image)
cv2.imshow('mask', mask)
cv2.imshow('result', result)
cv2.waitKey()

关于python - 如何用二进制蒙版蒙版图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59432324/

10-13 09:43