はじめに
jupyter notebook, labのパラメータを対話的に表示できる機能(ipywidgets IntProgress)でプログレスバーを表示する方法について説明する。ここでは、動画ファイルを画像に変換する処理の進捗状況をプログレスバーで表示する。
コード

解説
モジュールのインポートなど
このコードはjupyter lab 2.0.1 で実行した。jupyter labでインタラクティブな操作をするために、%matplotlib widgetとする。
動画の読み込みとメタデータ
下記記事の動画を読み込み、メタデータを表示する。フレーム数は300であることがわかる。

[matplotlib animation] 75. テンプレートマッチングによる物体追跡でジャンプした回数を計測
scikit-imageのテンプレートマッチングによる物体追跡により、対象物がジャンプした回数を動画解析し、matplotlib, FuncAnimationのアニメーションで表示する。
ipywidgetsの設定
IntProgressでプログレスバーを表示する。minからmaxの値に応じて、バーの伸びが変化する。
動画から画像への変換の実行とプログレスバー
画像をひとつリストに追加するごとにプログレスバーに1を加えていくことで進捗状況がわかる。

参考
Widget List — Jupyter Widgets 8.1.5 documentation
コメント