Skip to content

Instantly share code, notes, and snippets.

@masudakoji
Created January 24, 2017 07:35
Show Gist options
  • Select an option

  • Save masudakoji/6324c153e99bd5d12c78236cb1e506df to your computer and use it in GitHub Desktop.

Select an option

Save masudakoji/6324c153e99bd5d12c78236cb1e506df to your computer and use it in GitHub Desktop.
動画ファイルを作るため、可視化画像を間引き・かさ増しする
#!usr/bin/env python
#coding: utf-8
import subprocess
import numpy as np
start = 5 #開始番号
goal = 100 #終了番号
concentrate_ratio = 5 #[concentration] 切り抜き間隔(1だとすべての画像を使う)
dilute_ratio = 2 #[dilution] 引き伸ばし倍率
def concentration():
for count, i in enumerate(np.arange(start, goal+1, concentrate_ratio)):
input_file = 'out_{0:04d}.png'.format(i)
output_file = 'concentration_{0:04d}.png'.format(count+1)
subprocess.call(['cp', input_file, output_file])
print('{0:8} {1} -> {2}'.format(count+1, input_file, output_file))
def dilution():
for count in np.arange((goal+1-start)*dilute_ratio):
index = int(count/dilute_ratio)+start
input_file = 'out_{0:04d}.png'.format(index)
output_file = 'dilution_{0:04d}.png'.format(count+1)
subprocess.call(['cp', input_file, output_file])
print('{0:8} {1} -> {2}'.format(count+1, input_file, output_file))
if __name__ == '__main__':
concentration() # 画像ファイル間引く
dilution() # 画像ファイルをかさ増しする
@masudakoji

masudakoji commented Jan 24, 2017

Copy link
Copy Markdown
Author

使用できる関数

関数concentrationは可視化画像ファイルを間引く。
関数dilutionは可視化画像をかさ増しする。

パラメータ

共通するパラメータ

start, goalは、元の可視化画像のファイル名の連番
start = 2
goal = 20
の場合
out_0002.png
out_0003.png
...
out_0019.png
out_0020.png
のファイルを対象とする。

パラメータ(関数concentration)

concentrate_ratioは対象のファイルのうち、間引く間隔を表す。
concentrate_ratio = 2 であれば2枚に1枚の画像を使用する。
上記の例では
out_0002.png
out_0004.png
out_0006.png
...
out_0018.png
out_0020.png
が選ばれて出力される。

パラメータ(関数dilution)

dilute_ratioは対象のファイルを、何倍に''希釈''するかを表す。
dilute_ratio = 2 であれば1枚の画像から2枚の出力画像を得る。
上記の例では
out_0002.png
out_0003.png
...
out_0019.png
out_0020.png
の19枚の画像から38枚の画像が出力される。

@masudakoji

Copy link
Copy Markdown
Author

出力画像を動画にする

requirements

  • ffmpeg

scripts (for Mac)

  • ''希釈''された画像からmpgファイルを作成
    ffmpeg -r 30000/1001 -i dilution_%04d.png -q:v 0 out.mpg
  • mpgファイルをmp4に変換
    ffmpeg -y -i out.mpg -vcodec h264 -q:v 0 out.mp4
  • mpgファイルをwmvに変換
    ffmpeg -i out.mpg -c:v wmv2 -b:v 2000k out.wmv

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment