2枚の画像から中間画像を生成する(Python, OpenCV)
目次
はじめに
たっつー
こんにちは、のんびりエンジニアのたっつーです。
Twitter(@kingyo222)で Unity情報 を発信しているのでよければフォローしてください!
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にシェアをお願いします!