複数画像を動画にする

プログラミング

こんにちは。chanyoGUITARと申します。今回は掲題の件を記事にさせていただきました。

それでは行きましょう!

Pythonでフォルダ内の画像をつなげて動画にするには、OpenCVというライブラリを使用することができます。

OpenCVのインストールは「pip install cv2」ではだめで、下記なので注意です。

pip install opencv-python

OpenCVをインストールしてから、以下のコードを実行することで動画作成ができます。

import cv2
import os
 
img_folder = "./input_image"
sec = 10 # 秒
fps = 24
 
# 画像ファイル名の取得
images = [f for f in os.listdir(img_folder) if f.endswith(".jpeg")]
 
frame = cv2.imread(os.path.join(img_folder, images[0]))
height, width, layers = frame.shape
 
video = cv2.VideoWriter("結合動画.mp4", cv2.VideoWriter_fourcc(*'mp4v'), fps, (width, height))

for image in images:
    for i in range(int(fps*sec / len(images))): #フレームごとに1秒間表示する
        video.write(cv2.imread(os.path.join(img_folder, image)))
    
cv2.destroyAllWindows()
video.release()

適切な画像格納の後に実施後、下記のような動画が出力されます。

注意点は画像サイズはすべて同じ必要があります。下記の記事もご参考に下さい。

このコードの一部分を応用すれば様々な状況にも対応できますから、一部分だけコピーするなどしていただいて構いません。 また間違い等あればお気軽にコメントください!! 以上です!

記事は毎日投稿の予定なので、明日もぜひのぞいてみてください!それでは!

コメント

タイトルとURLをコピーしました