答案 0 :(得分:0)
据我所知,二进制图像以opencv值1 - > 255进行灰度存储。
要创建“虚拟”RGB图像,您可以执行以下操作:
rgb_img = cv2.cvtColor(binary_img, cv.CV_GRAY2RGB)
我把它们称为“虚拟”,因为在这些图像中,红色,绿色和蓝色值是相同的。
答案 1 :(得分:0)
这样的东西,但你的面具尺寸错误(200x200像素),所以它不匹配你的图像(600x450像素):
#!/usr/local/bin/python3
from PIL import Image
import numpy as np
# Open the input image as numpy array
npImage=np.array(Image.open("image.jpg"))
# Open the mask image as numpy array
npMask=np.array(Image.open("mask2.jpg").convert("RGB"))
# Make a binary array identifying where the mask is black
cond = npMask<128
# Select image or mask according to condition array
pixels=np.where(cond, npImage, npMask)
# Save resulting image
result=Image.fromarray(pixels)
result.save('result.png')