程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python cv2 accumulate 函數族

編輯:Python

accumulate函數族

  • 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]]

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved