首先对numpy中axis取值进行说明:一维数组时axis=0,二维数组时axis=0,1,维数越高,则axis可取的值越大,数组n维时,axis=0,1,…,n。为了方便下面的理解,我们这样看待:在numpy中数组都有着[]标记,则axis=0对应着最外层的[ ],axis=1对应第二外层的[ ],以此类推,axis=n对应第n外层的[ ]。
因为opencv中的图片是三维数组,三维数组具有代表性,所以选取三维数组为例子。
import numpy as np
#0-27,步长为1 的整数
n = np.arange(0, 27, 1)
# 生成3行3列3层的矩阵
n = n.reshape(3,3,3)
#最外层求和
a = n.sum(axis=0)
#中间层求和
b = n.sum(axis=1)
#最内层求和
c = n.sum(axis=2)
n: [[[ 0 1 2][ 3 4 5][ 6 7 8]] + + + [[ 9 10 11][12 13 14][15 16 17]] + + + [[18 19 20][21 22 23][24 25 26]]] = = = a: [[27 30 33][36 39 42][45 48 51]]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
n: [[[ 0 1 2] + [ 3 4 5] + [ 6 7 8]] [[ 9 10 11] + [12 13 14] + [15 16 17]] [[18 19 20] + [21 22 23] + [24 25 26]]] b: [[ 9 12 15] [36 39 42] [63 66 69]]
- 1
- 2
- 3
- 4
- 5
- 6
n: [[[ 0 + 1 + 2] + [ 3 + 4 + 5] + [ 6 + 7 + 8]] [[ 9 +10 +11] + [12 +13 +14] + [15 +16 +17]] [[18 +19 +20] + [21 +22 +23] + [24 +25 +26]]] c: [[ 3 12 21 ] [ 30 39 48 ] [ 57 66 75 ]]
- 1
- 2
- 3
- 4
- 5
- 6