如何在不旋转图像的情况下切换numpy中的图像重复

时间:2017-04-12 09:28:49

标签: python image opencv

我的图像尺寸为:(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?

1 个答案:

答案 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)