2

我正在为语义分割创建 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 实现?谢谢你。

4

1 回答 1

3

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

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

现在您已经获得了RGB可以使用create_pascal_label_colormap()函数转换为类 ID 的值。

于 2018-05-09T05:15:03.087 回答