重み付き加算

V2.4.11, V3.0.0
In [3]:
# -*- coding: utf-8 -*-
import cv2

#Ipythonで表示用の設定
import matplotlib.pyplot as plt
%matplotlib inline

#画像読込
img1 = cv2.imread("lena.jpg")
img2 = cv2.imread("baboon.jpg")

#画像の重み付き加算(img1*0.6 + img2*0.4 + 0)
dst = cv2.addWeighted(img1,0.6,img2,0.4,0)

#OpenCVがBGRなのでRGBに変換
disp_img1  = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)
disp_img2  = cv2.cvtColor(img2, cv2.COLOR_BGR2RGB)
disp_dst   = cv2.cvtColor(dst,  cv2.COLOR_BGR2RGB)

#画像表示
plt.figure(figsize=(10,4))
plt.subplot(131)
plt.imshow(disp_img1)
plt.subplot(132)
plt.imshow(disp_img2)
plt.subplot(133)
plt.imshow(disp_dst)
Out[3]:
<matplotlib.image.AxesImage at 0x98c93f0>

加算

V2.4.11, V3.0.0
In [4]:
# -*- coding: utf-8 -*-
import cv2
import numpy as np

#Ipythonで表示用の設定
import matplotlib.pyplot as plt
%matplotlib inline

#画像読込
img1 = cv2.imread("lena.jpg")
img2 = cv2.imread("baboon.jpg")

img1_half = np.uint8(img1 * 0.6)
img2_half = np.uint8(img2 * 0.4)

#画像の加算(もし画素値が上限を超えるとどうしている?要確認)
dst = cv2.add(img1_half,img2_half)

#OpenCVがBGRなのでRGBに変換
disp_img1  = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)
disp_img2  = cv2.cvtColor(img2, cv2.COLOR_BGR2RGB)
disp_dst   = cv2.cvtColor(dst,  cv2.COLOR_BGR2RGB)

#画像表示
plt.figure(figsize=(10,4))
plt.subplot(131)
plt.imshow(disp_img1)
plt.subplot(132)
plt.imshow(disp_img2)
plt.subplot(133)
plt.imshow(disp_dst)
Out[4]:
<matplotlib.image.AxesImage at 0x9bb4230>
inserted by FC2 system