Created
January 24, 2017 07:35
-
-
Save masudakoji/6324c153e99bd5d12c78236cb1e506df to your computer and use it in GitHub Desktop.
動画ファイルを作るため、可視化画像を間引き・かさ増しする
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!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() # 画像ファイルをかさ増しする | |
Author
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
使用できる関数
関数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枚の画像が出力される。