将3通道RGB图像转换为1通道标签图像

时间:2019-10-08 13:15:56

标签: python image numpy label rgb

我有一堆需要用标签表示的图像(RGB),即e。每个颜色元组(r,g,b)应映射到标量标签。换句话说,我希望图像具有标签而非颜色方面的意义。我很清楚这是一个相当简单的问题,可以通过使用3 for循环轻松解决,但是必须在Python中完成,因为这种方法不够慢。 示例:

img = array(
      [[[227,  57,  53],
        [ 42, 141,  15]],

       [[182, 158,  38],
        [ 83, 239,  12]]])
img_lab = array(
      [[2, 3],
       [1, 0]])

其中

2 = [227, 57, 53]
3 = [42, 141, 15]
1 = [182, 158, 38]
0 = [83, 239, 12]

有人知道如何利用numpy的功能来加快替换速度吗?我考虑过要使用np.where(),但是,我不知道如何告诉python对每个像素在轴3上执行比较。

0 个答案:

没有答案