如下所示,如何使用opencv保存图像?

时间:2019-05-10 10:19:28

标签: python opencv matplotlib mask

我曾经用大津的方法遮盖云层。在这种情况下,遮罩是红色的。当我运行代码时,图形显示红色遮罩,但是当我尝试将其保存到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')

1 个答案:

答案 0 :(得分:1)

OpenCV默认将图像的颜色通道顺序视为BGR而不是RGB,这就是为什么您看到蓝色蒙版的原因。

所以您需要将蒙版更改为此

mask_color = (0, 0, 255)

然后它将正确的颜色值应用于正确的颜色通道