複数の画像を連結して mp4 ファイルを生成する方法 【Python】

programming Python

フォルダに入っている画像(jpgファイル等)を結合して mp4 ファイルを生成するサンプルコードです。
環境: Windows 10、Anaconda, Python 3.x, OpenCV をインストール済み

サンプルコード

import os 
import glob
import cv2 

path1 = os.path.dirname(__file__) + "\\image1\\"

a1 = glob.glob( path1 + "*.jpg" )

img1 = cv2.imread( a1[0] ) 
Y1, X1, channels1 = img1.shape[:3] 
frame_rate1 = 1 

file1 = path1 + 'video1.mp4'
fourcc = cv2.VideoWriter_fourcc('m','p','4','v') 
video1 = cv2.VideoWriter( file1, fourcc, frame_rate1, (X1, Y1) )

for file0 in a1:
    img1 = cv2.imread( file0 )
    if img1 is None: 
        print( "error!" ) 
    else: 
        img1 = cv2.resize( img1, (X1, Y1) ) 
        video1.write( img1 )

video1.release()

使い方

① デスクトップ等にフォルダを作り、テキストエディタで “image_to_mp4.py” 等のファイルを作ってください。
② ”image_to_mp4.py” の内容を編集し、上記のスクリプトを貼りつけて保存してください。
結合するファイルは jpg ファイルとしています。
もし、png ファイル等を結合するようにしたい場合は、上記で “.jpg” としている部分を “.png” 等に修正してください。
③ ①のフォルダ内に、さらに image1 という名前でフォルダを作ってください。
④ image1 フォルダ内に、複数の任意の画像ファイルを入れてください。
⑤ Anaconda プロンプトを起動し、②の “image_to_mp4.py” を実行してください。(カレントフォルダを①のフォルダに移動し、python image_to_mp4.py 等とする。)
→ image1 フォルダ内に mp4 ファイルが生成されます。

※ サンプルコードは jpg ファイルの例としましたが、他の拡張子でも同様です。
必要により修正してください。
※ 画像を切り替える時間はフレームレート(frame_rate1)の部分で設定しています。
数値の部分を調整してください。

まとめ

画像ファイルから mp4 ファイルを生成する方法についてまとめました。

関連リンク
・ 複数の画像を結合して gif ファイルを生成する方法 【Python&OpenCV】
・ 動画作成ソフトウェア【Python & mp4, gif】

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