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