我正在为语义分段创建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实现?谢谢。
SegmentationClass
文件中包含颜色映射组件,因此在使用tf.decode_png()
时,您需要指定为:
label = tf.image.decode_png(file, channels=3)
现在你已经获得了RGB
值,你可以使用create_pascal_label_colormap()函数转换为类Id。