在图像处理中,经常用到transpose这个函数来变换矩阵,一直搞不清楚什么意思,现在来做一个总的概述,以及怎么使用。
1.普通的含义
transpose ,可以对矩阵的维度进行转换,下面看一个例子:
import numpy as np
a=[[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]
a=np.array(a)
a=a.transpose(1,0,2)
print(a)
[[[ 1 2 3]
[ 7 8 9]]
[[ 4 5 6]
[10 11 12]]]
print(a.shape)#(2, 2, 3)
在这里做一个简单的假设:这个操作是把每一个维度都当作一个索引,对应于,
[123]--000
[456]--010 ------ 所以我们对变换首先对一个维度进行固定,对另外两个
[789]--101 维度进行操作
[101112]--111
[[[ 1 4]
[ 2 5]
[ 3 6]]
这说明假设错误。
[[ 7 10]
[ 8 11]
[ 9 12]]]
import numpy as np
a=[[1,2],[3,4]]
a=np.array(a)
a=a.transpose(1,0)
print(a)
[[1 3]
[2 4]]
这说明这个炒作本质是对矩阵进行转置。转置的含义就是沿着数据中心,对数据进行对换。
参考变换方式:
https://blog.csdn.net/u012762410/article/details/78912667