重塑OpenCV图像(numpy)尺寸

时间:2016-09-08 13:30:42

标签: python opencv numpy mxnet

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

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

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

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

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您可以使用numpy.rollaxis,如下所示: 如果您的image(height, width, channels)

import numpy as np

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

这意味着2的{​​{1}} nd轴将位于new_shaped_image点。

所以0将为new_shaped_image.shape

答案 1 :(得分:0)

constexpr