【问题标题】:Reshaping OpenCV Image (numpy) Dimensions重塑 OpenCV 图像(numpy)尺寸
【发布时间】:2017-01-16 11:15:42
【问题描述】:

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

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

据我所知,这实际上需要是 (3, 256, 256) 或 (channels, height, width)。

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

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

感谢您的帮助。

【问题讨论】:

标签: python opencv numpy mxnet


【解决方案1】:
arr.transpose(2,0,1).shape
# (3, 256, 256)

【讨论】:

    【解决方案2】:

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

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

    这意味着new_shaped_image2nd 轴将位于0 点。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多