読者です 読者をやめる 読者になる 読者になる

PGは電子羊の夢を見るのか?

データとパターンのあいだ

ごちうさ1期OP白黒動画をアップロードしました。

ごちうさ2期放送開始記念ということで(こじつけ)、1期のOPを白黒の動画にしてニコニコ動画にアップロードしました。

www.nicovideo.jp

ここでは動画の内容よりも、作った際の作業手順のメモ。
使ったツールは、以下のとおり。

ffmpeg : 動画→静止画、静止画→動画の変換
python + opencv : 静止画を白黒に変換

また、作業するフォルダの構成は以下の様なものを想定しています。

workspace : 作業フォルダ
workspace/images : 切り出した静止画を入れるフォルダ
workspace/script.py : 静止画を白黒画像に変換するpythonスクリプト
workspace/op.mv4 : 元になる動画

まずは、元になる動画を見つけてきます。
これは自力でなんとかしてください。

続いて、取ってきた動画を連続した静止画に切り出します。

$ ffmpeg -i op.mv4 -f image2 images/%06d.jpg

これで、op.mv4から切り出した静止画をimagesフォルダに入れます。

静止画を白黒画像に変換するpythonスクリプトですが、今回は次のように実装しました。

import cv2
import glob

# 画像のファイルパスを取得
paths = glob.glob('images/*')

for index,path in enumerate(paths):
    # 画像をグレースケースで読み込む
    image = cv2.imread(path, 0)
    # グレースケースになった画像を白黒画像として抽出
    ret, th = cv2.threshold(image, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU )

    # 抽出した画像を保存
    cv2.imwrite('images/%06d.jpg' % index, image)

OpenCVで読み込んだ画像を白黒に変換して保存し直します。
今回はリサイズなどもしていないので、スクリプト自体は簡単に実装しています。

あとは、これを実行します。

$ python scripy.py

最後に変換した画像をつなげて、一本の動画にします。

$ ffmpeg -f image2 -i images/%06d.jpg op.mp4

以上です。 ね、簡単でしょ??今回は必要な部分しか説明していませんが、ffmpegOpenCVも動画像を扱うことのできるかなりリッチなツールです。
みなさんもドゥンドゥン活用してみてください!