我曾经用大津的方法遮盖云层。在这种情况下,遮罩是红色的。当我运行代码时,图形显示红色遮罩,但是当我尝试将其保存到folder时,遮罩变为蓝色。谁能帮助我做错了事?
def show_mask(mask, img_array, title='', mask_color=(255, 0, 0)):
display_image = img_array.copy()
display_image[mask != 0] = mask_color
path1="D:Datasets/satellite2/croppedred"
plt.imshow(display_image)
cv2.imwrite(os.path.join(path1,img),display_image)
#display_image.save(os.path.join(path1,img))
plt.title(title)
plt.axis('off')
plt.show()
show_mask(mask_otsu_clean, img_array, title='Otsu grayscale thresholding with morphological cleanup')
答案 0 :(得分:1)
OpenCV默认将图像的颜色通道顺序视为BGR而不是RGB,这就是为什么您看到蓝色蒙版的原因。
所以您需要将蒙版更改为此
mask_color = (0, 0, 255)
然后它将正确的颜色值应用于正确的颜色通道