代码之家  ›  专栏  ›  技术社区  ›  Md. Rezwanul Haque

在python中如何将图像从(n,m,4)重塑为(n,m,3)?

  •  0
  • Md. Rezwanul Haque  · 技术社区  · 7 年前

    A = [[[  7,  23,   0, 255],
             [ 14,  25,   1, 255],
             [ 23,  26,   1, 255],
             [ 49,  41,  33, 255],
             [ 43,  37,  30, 255],
             [ 42,  33,  25, 255]],
    
            [[ 59,  69,  59, 255],
             [ 77,  83,  72, 255],
             [ 86,  91,  84, 255],
             [ 16,  16,   8, 255],
             [  9,   7,   2, 255],
             [  1,   0,   0, 255]]]
    
    print(np.array(A).shape) ## (3,6,4)
    

    我想把它改造成这样 (3,6,3) 以至于我想跳过 255

    我该怎么办?

    1 回复  |  直到 7 年前
        1
  •  3
  •   akuiper    7 年前

    你需要的是切片而不是重塑,这会保留所有元素,但会改变阵列的形状;对于您的情况,只需沿第三个轴放置最后一个元素:

    np.array(A)[:,:,:-1].shape
    # (2, 6, 3)