フォルダに入っている画像(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】