imx は画像・動画データ処理のための CLI ツールです。複数ディレクトリの画像列を動画化したり、単一チャンネル画像を擬似カラー化したり、重み付き合成や GIF 生成を行えます。
前提:
- Python 3.13 以上
pip
リポジトリ直下で以下を実行します。
pip install -e .インストール後は imx コマンドが使えます。
imx --help複数ディレクトリの画像列を並べて MP4 を作成します。
imx video \
-i data/run_a \
-i data/run_b \
-o output.mp4 \
--sort nat \
--resize min \
--title \
--margin 8主なオプション:
--grid 2x2: グリッドを固定--resize min|max|error: サイズ不一致時の挙動--codec mp4v|h264: 出力コーデック--fps 10: フレームレート
単一チャンネル画像をカラー化します。デフォルトでは各画素値に対して固定 seed のランダム色を割り当て、値 0 は常に黒 (0, 0, 0) になります。
imx colorize \
-i data/grayscale \
-o data/colorized特定の値に色を固定したい場合は --force-color X R G B を複数回指定できます。
imx colorize \
-i data/labels \
-o data/colorized \
--force-color 1 255 0 0 \
--force-color 2 0 255 0 \
--force-color 3 0 0 255連続値画像を従来どおりカラーマップで可視化したい場合は --cmap を使います。このときはディレクトリ全体の min/max で正規化してから OpenCV のカラーマップを適用します。
imx colorize \
-i data/grayscale \
-o data/colorized \
--cmap VIRIDIS複数ディレクトリの画像を重み付きで合成します。
imx blend \
-i data/run_a \
-i data/run_b \
-w 0.7,0.3 \
-o data/blended \
--weight-mode normalize特定ディレクトリの黒 (0, 0, 0) を透過として扱いたい場合は、--input の順番に対応するフラグ列を --black-transparent で指定できます。true を指定したディレクトリでは、黒画素だけ重み計算から除外され、残りの画像で再正規化して合成します。
imx blend \
-i data/base \
-i data/mask_like \
-i data/highlight \
-w 0.5,0.3,0.2 \
-o data/blended \
--black-transparent false,true,true上の例では data/mask_like と data/highlight の黒だけが透過扱いになり、data/base の黒はそのまま合成対象に残ります。
主なオプション:
--resize min|max|error--weight-mode normalize|keep--black-transparent true,false,...: 入力ディレクトリごとに黒を透過扱いするかを指定
画像列から GIF を生成します。
imx gif \
-i data/run_a \
-i data/run_b \
-o output.gif \
-d 120 \
--multi-mode interleave主なオプション:
-d, --duration: 1 フレームあたりの表示時間(ms)--multi-mode concat|interleave: 複数ディレクトリ時の並べ方
- 対象は指定ディレクトリ直下の画像ファイルのみです。再帰探索はしません。
- 複数ディレクトリでファイル数が異なる場合は、最短のディレクトリ長に合わせて処理します。
- 詳細なオプションは
imx <command> --helpで確認できます。