2枚の画像から中間画像を生成する(Python, OpenCV)

最終更新日

はじめに

たっつー(管理人)
たっつー(管理人)

こんにちは、のんびりエンジニアのたっつーです。



2枚の画像から中間画像をさくっと生成したかったので opencv を使って書いてみました。
メモ程度の内容ですが誰かの参考になればと思います。

ソースコード

generator.py

#coding:utf-8
import numpy
import cv2

split = 10
imgStart = cv2.imread("start.jpg")
imgEnd = cv2.imread("end.jpg")

# 0.0~1.0
imgStart = (imgStart / 255)
imgEnd = (imgEnd / 255)

calc = split - 1
for i in range(split):
    imgTmp = (imgStart / calc * (calc - i)) + (imgEnd / calc * i)
    imgRes = cv2.resize(imgTmp,(640, 480))

    cv2.imshow("color", imgRes)
    cv2.imwrite(str(i) + ".jpg", imgTmp * 255)
    cv2.waitKey(10)

cv2.waitKey(0)
cv2.destroyAllWindows()

実行結果

実行前

generator.py / start.jpg / end.jpg の3ファイルがある状態で実行します。

コマンド

python generator.py

実行後

0.jpg ~ 9.jpg の計10枚の画像が出力されました。







よければ、SNSにシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする