OpenCVは画像混合を実装します

原理

これは実際には足し算ですが、違いは 2 つの画像の重みが異なることです。これにより、人々は混合または透明感を感じます。

画像ブレンドの計算式は次のとおりです。

g(x)=(1-a)f0(x) + af1(x)

α の値を変更 (0→1) することにより、非常にクールな混合を実現できます。

次に、2 つの画像をブレンドします。

最初のイメージの重みは 0.2、2 番目のイメージの重みは 0.3 です。関数

cv2.addWeighted()

以下の計算式に従って画像をブレンドできます。

dst = a img1 + B img2+y

ここで、y はゼロとみなされます。

コード

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']

#读取图像
img1 = cv.imread("lena.png")
img2 = cv.imread('lena_saved.png')

#图像的混合
img3 = cv.addWeighted(img1,0.2,img2,0.3,0)

#图像的显示
plt.figure(figsize=(4,4))
plt.imshow(img3[:,:,::-1])
plt.title("混合图像")
plt.show()

結果を示す

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_53545309/article/details/132790905