python-opencv(2)图像运算

python-opencv(2)图像运算

文章目录

      • 1. 加法运算
      • 2. 图像融合
      • 3. 参考

1. 加法运算

  • Numpy加法
  • OpenCV加法
    numpy加法为取模加法
    python-opencv(2)图像运算_第1张图片
    OpenCV加法是饱和运算
    运算方式: 结果=cv2.add(图像1,图像2)
    python-opencv(2)图像运算_第2张图片
#%%图像的加法
import cv2
import numpy as np

img1 = cv2.imread(r"C:\Users\lihuanyu\Desktop\opencv\image\lena512.bmp")
img2 = img1
results1 = img1+img2
results2 = cv2.add(img1,img1)

cv2.imshow("results1",results1)
cv2.imshow("results2",results2)


cv2.waitKey(0)
cv2.destroyAllWindows()

结果
python-opencv(2)图像运算_第3张图片
注 :参与运算的图像大小、类型必须一致。

2. 图像融合

将2张或2张以上的图像信息的融合到1张图像上,融合的图像含有更多的信息、能够更方便人来观察或者计算机处理。
python-opencv(2)图像运算_第4张图片
函数为addWeighted

dst=cv.addWeighted(src1, alpha, src2, beta, gamma)
dst = src1*alpha + src2*beta + gamma;

其中参数gamma不能省

#%%图像融合
import cv2

lena = cv2.imread(r"C:\Users\lihuanyu\Desktop\opencv\image\add\lena.bmp")
boat = cv2.imread(r"C:\Users\lihuanyu\Desktop\opencv\image\add\boat.bmp")
result=cv2.addWeighted(lena,1,boat,1,0)
cv2.imshow("lena",lena)
cv2.imshow("boat",boat)
cv2.imshow("result",result)

cv2.waitKey(0)
cv2.destroyAllWindows()

python-opencv(2)图像运算_第5张图片

3. 参考

Python+OpenCV计算机视觉 - 李立宗

你可能感兴趣的:(python-opencv,opencv,python,计算机视觉)