使用索引颜色值读取张量流中的图像,用于语义分段任务

时间:2018-05-09 03:12:27

标签: python tensorflow semantic-segmentation

我正在为语义分段创建FCN。 我很难将标记的png图像转换为PascalVOC数据集上的索引颜色值。 我希望值的范围在0到20之间。我可以在下面的代码中用PIL实现这样的操作

with Image.open(image_path) as img:
    label = np.array(img)

它输出我想要的东西。但对于tensorflow实现,我希望它与代码相同,如下所示

file = tf.read_file(image_path)
label = tf.image.decode_png(file, channels=0)

但是tensorflow实现的结果是0到255之间的值。 有什么方法可以在tensorflow中实现PIL实现吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

SegmentationClass文件中包含色彩映射组件,因此在使用tf.decode_png()时,您需要指定为:

label = tf.image.decode_png(file, channels=3)

现在您已获得RGB个值,您可以使用create_pascal_label_colormap()函数转换为类ID