VOC数据集中的mask图虽然看上去是彩色的,但不同于RGB图像,它是8位深的调色板图。
调色板图:每个像素为0~255中的一个数,代表颜色索引。调色板图像本身会存储一个叫调色板(palette)的数据结构, 最多存储256组rgb颜色。图像中的每一个像素,通过颜色索引, 可以在调色板中获得相应的颜色。
path="E:\\deeplab\\data\\table_tennis\\SegmentationClass\\000079.png"
image=Image.open(path)
print(image.mode)
# output
P
def save_colored_mask(mask, save_path):
img=Image.fromarray(mask.astype(np.uint8),mode="P")
colormap = imgviz.label_colormap()
img.putpalette(colormap.flatten())
img.save(save_path)