- 1. accumulate
- 2. accumulateProduct
- 3. accumulateSquare
- 4. accumulateWeighted
accumulate函数族是将图片进行累加的函数。包括accumulate,accumulateProduct,accumulateSquare和accumulateWeighted。
1. accumulate函数声明为:accumulate(src, dst, mask=None)。其中src为float类型的numpy数组,dst也一样。如果不是float类型的数组会产生错误。
mask必须是np.uint8类型的与src一样的数组。0表示该位置对应的数值不参与累加。其他值表示会累加。
示例如下:
#coding:utf8 import cv2 import numpy as np a = np.array([[1],[2],[13]],np.float32) b = np.zeros((3,1),np.float32) mask = np.ones((3,1),np.uint8) mask[1]=0 c = cv2.accumulate(a,b,mask) print(c) c = cv2.accumulate(c,b,mask) print(c)
输出值为:
[[ 1.] [ 0.] [13.]] [[ 2.] [ 0.] [26.]]2. accumulateProduct
函数声明为:accumulateProduct(src1, src2, dst, mask=None)。src1,src2和dst为同样类型的float32数组。
函数的功能是src1和src2相乘后,放在dst中。
#coding:utf8 import cv2 import numpy as np a = np.array([[1],[2],[13]],np.float32) b = np.array([[3],[5],[6]],np.float32) c = np.zeros((3,1),np.float32) d = cv2.accumulateProduct(a,b,c) print(c)
[[ 3.] [10.] [78.]]3. accumulateSquare
函数声明为:accumulateSquare(src, dst, mask=None)。
函数的功能是src的平方放在dst中。
#coding:utf8 import cv2 import numpy as np a = np.array([[1],[2],[13]],np.float32) c = np.zeros((3,1),np.float32) cv2.accumulateSquare(a,c) print(c)
[[ 1.] [ 4.] [169.]]4. accumulateWeighted
函数声明为:accumulateWeighted(src, dst, alpha, mask=None)
功能为按alpha权重累加。
#coding:utf8 import cv2 import numpy as np a = np.array([[1],[2],[13]],np.float32) c = np.zeros((3,1),np.float32) cv2.accumulateWeighted(a,c,0.1) print(c)
[[0.1 ] [0.2 ] [1.3000001]]



