np.expand_dims()维度扩充并赋值

一个二维的矩阵通过扩充维数变成三维,这里主要是加上一维3通道,用于训练。

1.axis取0,1,-1表示的意义

在二维中 0 = 行  1 = 列  -1 = 从后往前最后一维,就是列   [行,列] 维数升高同理。

2.创建一个二维数组

a = np.array([[1,3,4],[3,5,6]])
print(a.shape)

#(2,3)

3.使用np.expand_dims()扩充

现在是2维矩阵,0,1分别表示行列。所以axis=2,扩充维数

b = np.expand_dims(a,axis=2)
print(b)
print(b.shape)

# [[[1]
#   [3]
#   [4]]
# 
#  [[3]
#     [5]
#     [6]]]

#(2, 3, 1)

 4.使用np.repeat()进行复制值

c = np.repeat(b, repeats=3, axis=-1)
print(c)
print(c.shape)

# [[[1 1 1]
#   [3 3 3]
#   [4 4 4]]
#
#  [[3 3 3]
#   [5 5 5]
#   [6 6 6]]]
# (2, 3, 3)

这样就实现[640,640]->[640,640,3],合起来:

image = np.repeat(np.expand_dims(image, axis=2), repeats=3, axis=-1)

你可能感兴趣的:(python,开发语言)