假设我有一个维度为 (10, 48, 48, 1) 的 numpy 数组。这里 10 表示图像的数量。图像是带有单 channel 48x481 。由于这些是灰度图像,我希望我的数组来表示。当然这是不可能的,但我想用 0 初始化我的其他 2 个 channel 。那么如何添加其他二维,使我的数组形状变为 (10,48,48,3)

最佳答案

您也可以使用 np.pad

pad = ((0,0),)*3 + ((0,2),)
imgs = np.pad(imgs, pad, 'constant', constant_values = 0)
imgs.shape

(10, 288, 288, 3)

如果不是用零填充,可以重复这些值,你也可以使用 np.broadcast_to (如果你想写入它,请务必制作一个副本)
imgs = np.broadcast_to(imgs, (10, 48, 48, 3)).copy()

关于python - 如何在图像数组中添加 channel ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45934736/

10-12 20:15