相加 add
![image]()
import cv2
import numpy as np
dragon = cv2.imread('img/dragon.png')
magcian = cv2.imread('img/magcian.png')
result = cv2.add(dragon, magcian)
cv2.imshow('result', result)
cv2.waitKey(0)
相减 subtract
![image]()
import cv2
import numpy as np
cat = cv2.imread('img/cat.jpg')
dog = cv2.imread('img/dog.jpg')
result1 = cv2.subtract(cat, dog)
result2= cv2.subtract(dog, cat)
cv2.imshow('result1', result1)
cv2.imshow('result2', result2)
cv2.waitKey(0)
乘 multiply
除 divide
溶合 addWeighted
![image]()
import cv2
import numpy as np
cat = cv2.imread('img/cat.jpg')
dog = cv2.imread('img/dog.jpg')
result = cv2.addWeighted(cat, 0.5, dog, 0.5, 0)
cv2.imshow('result', result)
cv2.waitKey(0)
非运算 bitwise_not
![image]()
import cv2
import numpy as np
cat = cv2.imread('img/cat.jpg')
# dog = cv2.imread('img/dog.jpg')
result = cv2.bitwise_not(cat)
cv2.imshow('result', result)
cv2.waitKey(0)
与运算 bitwise_and
![image]()
import cv2
import numpy as np
cat = cv2.imread('img/cat.jpg')
dog = cv2.imread('img/dog.jpg')
result = cv2.bitwise_and(cat, dog)
cv2.imshow('result', result)
cv2.waitKey(0)
或运算 bitwise_or
![image]()
import cv2
import numpy as np
cat = cv2.imread('img/cat.jpg')
dog = cv2.imread('img/dog.jpg')
result = cv2.bitwise_or(cat, dog)
cv2.imshow('result', result)
cv2.waitKey(0)
异或运算 xor
![image]()
import cv2
import numpy as np
cat = cv2.imread('img/cat.jpg')
dog = cv2.imread('img/dog.jpg')
result = cv2.bitwise_xor(cat, dog)
cv2.imshow('result', result)
cv2.waitKey(0)
实战 添加水印
![image]()
import cv2
import numpy as np
# 1. 导入图片
cat = cv2.imread('img/cat.jpg')
# 创建logo 和 mask
logo = np.zeros((150, 150, 3), np.uint8)
mask = np.zeros((150, 150), np.uint8)
# 绘制logo
logo[20:70, 20:70] = [0, 0, 255]
logo[80:130, 80:130] = [0, 255, 0]
mask[20:70, 20:70] = 255
mask[80:130, 80:130] = 255
# mask按位求反
m = cv2.bitwise_not(mask)
# 选择添加logo的位置
roi = cat[0:150, 0:150]
# 与操作
tmp = cv2.bitwise_and(roi, roi, mask=m)
dst = cv2.add(tmp, logo)
cat[0:150, 0:150] = dst
cv2.imshow('logo', cat)
cv2.waitKey(0)