乗算

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

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

#画像読込(画素値1/4)
img1 = cv2.imread("baboon.jpg")/4


#乗算用画像生成
img2 = np.ones((512,512,3),dtype='uint8')
img2[0:256,0:256]     =1
img2[256:512,0:256]   =4
img2[0:256,256:512]   =2
img2[256:512,256:512] =3

#画像の乗算
dst = cv2.multiply(img1,img2)

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

print img1[400,400],"*",img2[400,400],"->",dst[400,400]

#画像表示
plt.figure(figsize=(10,4))
plt.subplot(121)
plt.imshow(disp_img1)
plt.subplot(122)
plt.imshow(disp_dst)
[39 42 34] * [3 3 3] -> [117 126 102]

Out[2]:
<matplotlib.image.AxesImage at 0x9936890>
inserted by FC2 system