将numpy数组的值存储在jpg图像的像素中

时间:2019-07-01 06:34:47

标签: numpy matplotlib image-segmentation

我正在研究图像分割问题,并创建了用于训练的遮罩。我将这些掩码存储在numpy数组中(值分别为1.5、2、2.5、3、3.5、4、4.5、5)。我尝试将其导出为.npy格式,但是尺寸非常大,当我使用matplolib将这些值存储为jpg时,遮罩会被打乱。我如何直接将这些numpy数组值作为像素值放置在图像中。例如,numpy数组为300X300,因此生成的jpg图像的分辨率为300X300像素。

1 个答案:

答案 0 :(得分:0)

之前有两个想法...您可以节省一些空间,将类转换为整数,以便:

1.5 -> 1
2 -> 2
2.5 -> 3
...

当您使用.npy格式(我会推荐的格式)时,还应该节省一些空间。 例如,当您需要png进行视觉检查时,请使用:

import matplotlib as mpl
mpl.image.imsave('test.png',pixel_values)

,然后可以在图片属性中确保像素数与pixel_value here矩阵之一相匹配。