2016-09-08 84 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