我的图像尺寸为:(3,1080,1920)。
我需要将其转换为(1080,1920,3)。为此,我只是转置矩阵,但结果如下:(1920,1080,3)。为了获得所需的尺寸,我需要在此之后旋转90°。
现在我想知道是否有更简单的方法,这会减少工作量?
import numpy as np
import cv2
#...snippet:
bgr = np.asarray([blue,green,red],dtype=np.uint8)
bgr = bgr.T;
#now do 90° degree turn, but maybe there is a simpler way?
答案 0 :(得分:1)
使用np.transpose()
,您可以将轴指定为第二个参数。
在您的情况下,您需要axes = (1, 2, 0)
示例:
import numpy as np
my_matrix = np.random.rand(3,1080,1920)
my_matrix.shape
(3,1080,1920)
my_matrix = np.transpose(my_matrix, axes=(1, 2, 0))
my_matrix.shape
(1080,1920,3)