# -*- coding:utf-8 -*-
import numpy as np
import cv2
if __name__ == "__main__":
src1=np.array([[23,123,90],[100,250,0]],np.uint8)
src2=np.array([[125,150,60],[100,10,40]],np.float32)
dst=src1+src2
print('+:',dst)
dst=cv2.add(src1,src2,dtype=cv2.CV_32F)
print('+:',dst)
dst=src1-src2
print('-:',dst)#uint8下-102会显示成-102+255+1=154
dst=src1*src2
print('*:',dst)
dst=np.multiply(src1,src2)
print('*:',dst)
dst=src1/src2
print('/:',dst)
src3=np.array([[125,150],[100,10],[2,2]],np.float32)
dst=np.dot(src1,src3)
print('dot:',dst)
dst=np.log([[2,3],[4,9]])
print('log:',dst)
dst=np.exp([[1,2,4],[8,6,3]])
print('exp:',dst)
dst=np.power(src1,2)
print('power:',dst)#有精度损失
dst=np.power(src1,2.0)
print('power:',dst)
dst=np.sqrt(src1)
print('sqrt:',dst)
'''
result:
+: [[148. 273. 150.]
[200. 260. 40.]]
+: [[148. 273. 150.]
[200. 260. 40.]]
-: [[-102. -27. 30.]
[ 0. 240. -40.]]
*: [[ 2875. 18450. 5400.]
[10000. 2500. 0.]]
*: [[ 2875. 18450. 5400.]
[10000. 2500. 0.]]
/: [[ 0.184 0.82 1.5 ]
[ 1. 25. 0. ]]
dot: [[15355. 4860.]
[37500. 17500.]]
log: [[0.69314718 1.09861229]
[1.38629436 2.19722458]]
exp: [[2.71828183e+00 7.38905610e+00 5.45981500e+01]
[2.98095799e+03 4.03428793e+02 2.00855369e+01]]
power: [[ 17 25 164]
[ 16 36 0]]
power: [[ 529. 15129. 8100.]
[10000. 62500. 0.]]
sqrt: [[ 4.797 11.09 9.484]
[10. 15.81 0. ]]
'''