我正在对PASCAL VOC 2012数据集进行图像分割。我有21个类别,包括从细分模型生成的背景。分割输出的形状为(224,224,21),其中每个(224 * 224)是21个类别中每个类别的特征图。这些映射中的每一个都包含索引(仅当该像素属于1类时,第一个映射才包含数组1中的值,否则它就无效并且很快将用于其他类)。现在,我想将每个映射(0,1,2,.. 20)中的这些索引值转换为它们对应的(R,G,B)值,并将其存储为图像。 (PASCAL VOC具有为每个索引值定义的相应(R,G,B)值)。我完全不知道如何实现这一目标。非常感谢您的帮助。

我对SO和使用PASCAL VOC数据集的其他博客上的颜色映射有一些疑问,但我听不懂。

最佳答案

如果要将这些数据用于可视化,则可以这样转换:

RGB_colors = [(12,12,12), (13,13,13), ... 21 color for 21 classes ...]

image = np.zeros( (224,224,3) )  # black RGB image
for i in range(image.shape[0]) :
    for j in range(image.shape[1]) :
        color_index = output[i,j].index(1)  # index of '1' value
        image[i,j] = RGB_colors[ color_index ]

关于python - 在完全卷积神经网络中的python中将索引值转换为(R,G,B)值(颜色图)以进行图像分割,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58255372/

10-14 09:31