您可以将numpy.concatenate 与不同的轴一起使用。这是一个使用 4 个形状为 [2 2] 的图像的简化版本示例,它会生成一个 [4 4]resulting 图像:
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c = np.array([[9, 10], [11, 12]])
d = np.array([[13, 14], [15, 16]])
ab = np.concatenate((a, b), axis=1)
cd = np.concatenate((c, d), axis=1)
abcd = np.concatenate((ab, cd), axis=0)
>>> print(abcd)
array([[ 1, 2, 5, 6],
[ 3, 4, 7, 8],
[ 9, 10, 13, 14],
[11, 12, 15, 16]])
>>> print(abcd.shape)
(4, 4)
只需将此代码调整为适合您的代码,而不是使用a, b, c, d 按张量的第一维连接图像,类似于np.concatenate((t[0], t[1]), axis=1) 是t 您的形状张量[4 8 8]。
否则,正如其他答案所建议的那样,您可以使用两次 numpy.hstack 函数两次,但我认为它的行为不是那么容易阅读,即使代码更少。