语义分割标签npy文件保存为图片的几种方式详细讨论

   拿到一个分割数据集,总共7类,里面的图片都是.npy格式,为了查看分割标签的情况,现在要将npy文件转为图片格式。首先这个数据集的标签图的像素值是0~6,单通道灰度图,所以标签如果显示成图片的话应该是类似于全黑(因为像素值太过于接近于0,人眼分不清),但是以上是我自己思考未做实验的结果,当我实际动手时发现不同的保存方式得到的结果不一。现记录如下:

使用OpenCV保存:

import cv2 as cv
import numpy as np

data=np.load("*****.npy")
cv.imshow(‘示例’,data)
cv.waitkey(O)

显示的图片如下:
在这里插入图片描述

使用PIL保存:

import numpy as np
from PIL import Image
data=np.load("******.npy")
image=Image.fromarray(data)
image.show()

显示的图片如下:
在这里插入图片描述

使用matplotlib保存:

import numpy as np
import matplot.pyplot as plt

data=np.load("*****.npy")
plt.imshows(data)
plt.show()

图片显示如下:
在这里插入图片描述

可以看到三种方式显示的图片都不一样,使用PIL和OpenCV方式保存的图片都是灰度图,而使用matplotlib保存的图片居然是彩图!经过查找资料发现,**这主要是由于PIL和opencv使用的不同版本的libjpeg造成的,**而matplotlib显示的是彩色索引图像,是通过调色板索引得到彩图。有博主建议使用PIL处理的图片送入网络训练更容易收敛。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值