2017年1月17日火曜日

OpenCV を利用して画像をスムーズに遷移させる

OpenCV には、画像を重ね合わせる addWeighted 関数がある。これを利用して、ある画像からある画像へスムーズに変換するスクリプトを作成する。

addWeighted 関数は 2 つの画像データと各々の比率を与えることで、結合した画像データを出力する。
以下の例では、x1 : x2 の比率で画像 img1, img2 を結合している。
dstimg = cv2.addWeighted(img1, x1, img2, x2, 0)
比率のパラメータを動的に変更することで、画像をスムーズに変換する。
import cv2

IMG_FILE1 = (画像ファイル IMG1 へのパス)
IMG_FILE2 = (画像ファイル IMG2 へのパス)

img1 = cv2.imread(IMG_FILE1)
img2 = cv2.imread(IMG_FILE2)

for i in range(0, 100):
    x1 = i / 100.0
    x2 = 1 - x1
    dstimg = cv2.addWeighted(img1, x1, img2, x2, 0)
    cv2.imshow("AddWeighted", dstimg),
    cv2.waitKey(100)
cv2.waitKey(0)
cv2.destroyAllWindows()

0 件のコメント:

コメントを投稿