我需要将通过cv2加载的numpy数组中的图像转换为深度学习库mxnet的卷积层的正确格式。
我当前的图像形状如下:(256,256,3)或(高度,宽度,通道)。
据我所知,这实际上需要(3,256,256)或(频道,高度,宽度)。
不幸的是,我对numpy / python opencv的了解并不足以让他们知道如何正确操作数组。
我已经发现我可以通过cv2.split将数组拆分成通道,但我不确定如何以正确的格式再次组合它们(我不知道是否使用cv2.split是最佳的,或者如果numpy有更好的方法)。
感谢您的帮助。
答案 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