opencv——图像混合
1.老规矩,首先保证pycharm中导入了cv2 这个库,待会才能调出其中的函数来。
import cv2 as cv
2.先导入cv2这个库。
img1=cv.imread('img1.png') img2=cv.imread('img2.png')
3.读取需要混合的两张图片。
h, w, c = img1.shape
img2 = cv.resize(img, (h, w), interpolation=cv.INTER_CUBIC)
4.获取到图片的shape,然后改变图片的尺寸,如果尺寸不一样,就把大的图片变成和小的图片的尺寸。
dstimg=cv.addWeighted(img1,0.7,img2,0.3,0)
5.addWeighted是cv2库中的一个函数,里面的参数是这样的:
def addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)
公式:dst = α · img1 + β · img2 + γ
第一个参数是图片1,第二个参数是上面公式的α,img2就是图片2,beta是公式中的β
图片的混合符合以上的公式。
cv.imshow('dst',dstimg) cv.waitKey(0) cv.destroyAllWindow()
6.显示混合后的图片,然后设置关闭窗口。
我的图1是
图2 是
混合后的是