Python3 OpenCV3で平均値画像(Alpha Blending)を作成
2枚の画像を透過させて合成するような感じ。
[amazonjs asin="4061538225″ locale="JP" title="OpenCVによる画像処理入門 (KS情報科学専門書)"]
前提
元画像
オレンジの画像(orange.jpg)とりんごの画像(apple.jpg)を合成する。
source/imageディレクトリに設置する。
addWeightedメソッドの使い方
平均値画像を求めるにはaddWeightedメソッドを使う。
addWeightedメソッドの使い方は以下のとおり。
[python]
cv2.addWeighted(img_src1, img_src1の重み付け, img_src2, img_src2の重み付け, ガンマ値)
[/python]
重み付け値はimg_src1とimg_src2のどちらを強調するかを指定する。
ちょうど中間にするには両方の値を0.5、img_src1の方を強調したい場合は0.7,0.3など。
ガンマ値はガンマ補正の値。大きくすると明るく(白っぽく) なる。
平均値画像の生成
平均値画像を生成する。
sourceディレクトリにalpha_blending.pyを作成する。
[python title="alpha_blending.pyの内容"]
# -*- coding: UTF-8 -*-
import cv2
import math
import numpy as np
import os
if __name__ == '__main__’:
# 画像の読み込み
img_src1 = cv2.imread("./image/apple.jpg", 1)
img_src2 = cv2.imread("./image/orange.jpg", 1)
img_ab = cv2.addWeighted(img_src1, 0.5, img_src2, 0.5, 0.0)
# 表示
cv2.imshow("Show ALPHA BLENDING Image", img_ab)
cv2.waitKey(0)
cv2.destroyAllWindows()
[/python]
実行してみる。
[shell]
(opencv_python)$ python alpha_blending.py
[/shell]
おまけ(ゴーストダンボー)
以下の2つの画像を合成してみた(dambo1.jpg, dambo2.jpg)。
すると、
ダンボーが透明に。
ディスカッション
コメント一覧
まだ、コメントがありません