1

我正在搞乱谷歌DeepLab的语义图像分割。我希望能够为每个语义(即人、猫等)更改颜色。使用 PASCAL 基准创建颜色图的方法是

def create_pascal_label_colormap():
  """Creates a label colormap used in PASCAL VOC segmentation benchmark.

  Returns:
    A Colormap for visualizing segmentation results.
  """
  colormap = np.zeros((256, 3), dtype=int)
  ind = np.arange(256, dtype=int)

  for shift in reversed(range(8)):
    for channel in range(3):
      colormap[:, channel] |= ((ind >> channel) & 1) << shift
    ind >>= 3

  return colormap

我想如果我ind用另一个(而不是2拥有3)改变值,我会得到不同的颜色。另外,是否有另一种方法可以为语义获得不同的颜色?我似乎无法猜测它是如何工作的,如何使用我们在代码中看到的移位来创建颜色图。我还链接了我在谷歌 colab 上的DeepLab处理的完整代码: https ://colab.research.google.com/drive/1a3TnfeEjVMg7N1Dz5d_UA8GN_iKHkG_l#scrollTo=na9DyxVl4_Ul

4

1 回答 1

0

如果你有固定数量的类,你也可以硬编码你想要的颜色,比如

def create_pascal_label_colormap(): 
 return np.asarray([ 
    [0, 0, 0],
    [0, 192, 0],
    ])
于 2021-07-02T11:09:02.290 回答