我有以下格式的文件,Nifti
其中包含掩码,我编写了以下代码将里面的图像提取为PNG
图像,问题是:
这是一个标有 [0. 1. 2. 3.],保存掩码后,PNG
掩码图像内的值分布在 [0 --> 255] 范围内,它们不再像以前那样只是 4 个标签!
请问我该如何解决这个问题?
唯一重要的是里面有 4 个独特的标签。
提前致谢。
import nibabel as nib
import os
import glob
import numpy as np
from skimage.io import imread, imsave
#-------------------------------------------
# Multi Class Masks
path = 'Masks'
Dataset = glob.glob( os.path.join(path, '*.gz') )
ctr = 0
for image in Dataset:
# Load masks voxel
images = nib.load(image).get_fdata()
print(np.unique(images))
# Save it as PNG
ctr+=1
if(not os.path.exists('Dataset/masks/Case_'+str(ctr))):
os.mkdir('Dataset/masks/Case_'+str(ctr))
for _id in range(images.shape[2]):
imsave(os.path.join('Dataset/masks','Case_'+
str(ctr),str(ctr)+'_'+str(_id+1)+'.png'),
resize(images[:,:,_id],(256,256)))
#-------------------------------------------
imag = imread(os.path.join('Dataset/masks','Case_'+
str(ctr),str(ctr)+'_'+str(_id+1)+'.png'))
print(np.unique(imag))