如何根据蒙版为灰度图像着色?

How to color a grayscale image based on a mask?

我有两张图像:一张灰度图像和一张具有相同尺寸的二进制蒙版。如何在蒙版上给图像上色,而图像的其余部分保持灰度?

这是一个例子:

在 3 通道中表达灰度图像像素值可以得到彩色图像。结果看起来是一样的,但是当你检查尺寸时,它会是 3.

gray_3_channel = cv2.merge((gray, gray, gray))

gray.shape
>>> (158, 99)
gray_3_channel.shape
>>> (158, 99, 3)

对于掩码中的每个白色 (255) 像素,分配 gray_3_channel 中的颜色 (255, 255, 0):

gray_3_channel[mask==255]=(255, 255, 0)