首页 > 解决方案 > 如何在python中将图像从(n,m,4)重塑为(n,m,3)?

问题描述

我的图像值如下:

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矩阵。

我能怎么做?

标签: pythonnumpyscipy

解决方案


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

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

推荐阅读