openCVを使って静止画から動画を作成してみる

2020年12月21日

openCVを使って静止画から動画を作成してみる

静止画から動画を作成してみたいと思います。
正直この機能だけだとあまり意味がありませんね。
今後は作成した動画に音声を載せてみたり、動画を結合したりしてみたいと思います。

参考:
  ・pip で OpenCV のインストール
  ・Python3 OpenCVで ImportError: libSM.so.6: cannot open shared object file...
  ・Python/OpenCVで静止画を時間指定で動画にする方法

インストール

インストールしていきます。
CentOS7では「libSM.x86_64 libXrender.x86_64 libXext.x86_64」のモジュールをインストールしておかないと失敗してしまいます。


pip3 install opencv-python
yum install -y libSM.x86_64 libXrender.x86_64  libXext.x86_64

階層

階層は下の通りです。
image_to_video.pyを実行すると同階層の「img.png」ファイルを読み込み、同階層に「video.mp4」ファイルを作成します。


.
├── image_to_video.py
├── img.png
└── video.mp4

image_to_video.py

プログラムは下の通りです。


import os
import cv2
 
video_time = 10 #動画再生時間(sec) 
img        = cv2.imread('img.png')
width      = img.shape[1]
height     = img.shape[0]
fourcc     = cv2.VideoWriter_fourcc('m','p','4', 'v')
video      = cv2.VideoWriter('out.mp4', fourcc, 20.0, (width, height))
 
frame_count = video_time * 20
for num in range(frame_count):
    video.write(img)
 
video.release()

2020年12月21日