一个二维的矩阵通过扩充维数变成三维,这里主要是加上一维3通道,用于训练。
在二维中 0 = 行 1 = 列 -1 = 从后往前最后一维,就是列 [行,列] 维数升高同理。
a = np.array([[1,3,4],[3,5,6]])
print(a.shape)
#(2,3)
现在是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)
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)