numpy.transpose()函数对二维数组就是矩阵的转置操作,对于高维数组则可以任意交换数组。本以为
自己已经理解了它的用法,直到看到如下的代码。
import numpy as np
import cv2
size = 128
mat = np.zeros((2,2,size,size))
mat[0,0,:,:] = np.ones((size,size))
mat[0,1,:,:] = np.ones((size,size)) * 2
mat[1,0,:,:] = np.ones((size,size)) * 4
mat[1,1,:,:] = np.ones((size,size)) * 8
matX = np.transpose(mat,(0,2,1,3))
print matX.shape
print matX
matY = matX.reshape((2*size, 2*size))
cv2.imshow('matY',np.uint8(matY * 30))
cv2.waitKey(-1)
numpy.transpose() + numpy.reshape() 实现了四副图像的拼接操作。