2016-09-08 65 views
2

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

我的当前图像的形状如下:(256,256,3)或(高度,宽度,通道)。根据我所知,这实际上需要是(3,256,256)或(通道,高度,宽度)。我不知道如何正确操作数组。

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

感谢您的任何帮助。

回答

2

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

import numpy as np 

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

这意味着2十二次new_shaped_image的轴将在0点。

所以new_shaped_image.shape(channels, height, width)

+0

谢谢!这是一个非常有用的命令。 – AdmiralJonB