3

我需要将通过 cv2 加载的 numpy 数组中的图像转换为其卷积层的深度学习库 mxnet 的正确格式。

我当前的图像形状如下:(256、256、3)或(高度、宽度、通道)。

据我所知,这实际上需要是(3、256、256)或(通道、高度、宽度)。

不幸的是,我对 numpy/python opencv 的了解还不足以知道如何正确操作数组。

我发现我可以通过 cv2.split 将数组拆分为通道,但我不确定如何以正确的格式再次组合它们(我不知道使用 cv2.split 是否是最佳的,或者是否有是 numpy 中更好的方法)。

谢谢你的帮助。

4

2 回答 2

2

你可以使用numpy.rollaxis如下:如果你image的形状(height, width, channels)

import numpy as np

new_shaped_image = np.rollaxis(image, axis=2, start=0)

这意味着2nd 轴new_shaped_image将在0现场。

new_shaped_image.shape也会如此(channels, height, width)

于 2016-09-08T13:39:11.283 回答
0
arr.transpose(2,0,1).shape
# (3, 256, 256)
于 2020-12-03T06:12:33.367 回答