コンテンツにスキップ

カラーマッチ (ColorMatch)

概要 (What is it?)

ColorMatch ノードは、さまざまなカラーマッチングアルゴリズムを使用して、参照画像(リファレンス)の色調特性をターゲット画像に転送します。自動カラーグレーディング、画像間のルック&フィールの統一、照明の不整合の補正、複数の画像にわたる一貫したビジュアルスタイルの確立に非常に便利です。

使用する場面 (When would I use it?)

以下のような場面でこのノードを使用します:

  • 一貫性を持たせるために 2 つの画像間で色調を合わせたい場合
  • ある画像から別の画像へとカラーグレーディングを適用したい場合
  • カットごとの照明や露出の不整合を補正したい場合
  • 複数の画像にわたって統一されたカラーパレットを作成したい場合
  • 参考画像のムードや空気感をターゲット画像に移植したい場合
  • コマ撮りアニメーション(ストップモーション)や連続フレームの色調を均一化したい場合
  • お気に入りの写真のカラースタイルを適用したい場合

使い方 (How to use it)

基本セットアップ

  1. ワークフローに ColorMatch ノードを追加します
  2. 参照画像を "reference_image" に接続します(カラーパレットのコピー元)
  3. ターゲット画像を "target_image" に接続します(色を変更したい画像)
  4. カラー転送メソッド(method)を選択します
  5. 必要に応じて強度(strength)パラメータを調整します
  6. カラーマッチングされた画像が "output" パラメータから出力されます

パラメータ一覧 (Parameters)

画像入力 (Image Inputs)

  • reference_image: 転送するカラーパレットを提供する参照画像
  • target_image: カラー転送が適用される変更対象のターゲット画像

カラーマッチ設定 (Color Match Settings)

  • method: 使用するカラー転送アルゴリズム

    • mkl: Monge-Kantorovich Linearization(高速・良好な品質、デフォルト)
    • hm: Histogram Matching(ヒストグラムマッチング。高速・標準的な品質)
    • reinhard: Reinhard らのカラー転送法(高速・良好で自然な仕上がり)
    • mvgd: Multi-Variate Gaussian Distribution(多変量正規分布。中速・高品質)
    • hm-mvgd-hm: 複合メソッド(低速・最高品質)
    • hm-mkl-hm: 代替複合メソッド(低速・最高品質)
  • strength(0.0〜10.0、デフォルト: 1.0): カラー転送の適用強度を制御します

    • 0.0: 変化なし(元のターゲット画像)
    • 1.0: 100% 完全なカラー転送
    • 1.0 超: 効果を強調・誇張

出力 (Outputs)

  • output: 参照画像の色調特性が転送されたカラーマッチング画像

使用例 (Example)

一般的なカラーマッチングワークフローの例:

  1. 2 つの LoadImage ノードを使用して画像をそれぞれ読み込みます
  2. 修正したい画像を "target_image" に接続します
  3. 理想の色合いを持つ参照画像を "reference_image" に接続します
  4. 速度と品質のバランスが良い "mkl" メソッドを選択します
  5. 完全に色調を合わせるために strength を 1.0 に設定します
  6. "output" を DisplayImage に接続して結果を確認します
  7. 効果が強すぎる、または弱すぎる場合は strength を微調整します

ユースケース (Use Cases)

写真のカラーグレーディング

プロがグレーディングした写真のカラーパレットを自分の写真に適用します: 1. ターゲット画像として自分の写真を接続 1. 目的のグレーディングを持つ参照写真を接続 1. "reinhard" または "mkl" メソッドを使用 1. 好みに応じて strength を調整(控えめなら 0.7〜1.0、ドラマチックなら 1.0〜1.5)

ストップモーションのチラつき補正

フレーム間の露出や照明の微妙なブレを補正します: 1. 正しい照明のフレームを参照画像として設定 1. 補正が必要なフレームをターゲット画像として接続 1. 高速処理のため "mkl" メソッドを使用 1. 正確に一致させるため strength を 1.0 に設定

バッチスタイル転送

複数の画像に統一されたカラースタイルを適用します: 1. スタイル参照画像をロード 1. 各ターゲット画像を順次 ColorMatch ノードで処理 1. 最も破綻が少なく高品質な "hm-mvgd-hm" メソッドを使用

重要な注意点 (Important Notes)

  • リアルタイムプレビュー: パラメータを調整するとリアルタイムに結果が更新されます
  • RGB 処理: 処理の過程で画像は RGB フォーマットに変換されます
  • 寸法の維持: 出力画像のサイズはターゲット画像の寸法をそのまま維持します
  • アルゴリズムごとの差異: メソッドによって微妙に出力傾向が異なります。用途に合わせて最適なアルゴリズムをお選びください

よくある問題 (Common Issues)

  • 変化が見られない: strength が 0 より大きくなっているか確認してください
  • 効果が強すぎる: strength の値を 1.0 未満に下げてみてください
  • 不自然な色合いになる: 別のメソッドを試してください("reinhard" は特に自然な階調を保ちやすい傾向があります)
  • 処理が遅い: 高解像度画像の場合は複合メソッドを避け、高速な "mkl" や "hm" を選択してください

技術的な詳細 (Technical Details)

このノードは color-matcher ライブラリを使用してカラー転送を実行します:

  • MKL (Monge-Kantorovich Linearization): 最適輸送理論(Optimal Transport Theory)を用いて色分布をマッチングします
  • HM (Histogram Matching): 各色チャンネルのヒストグラムを個別にマッチングします
  • Reinhard: 無相関化されたカラー空間(lαβ)に基づく古典的かつ堅牢なカラー転送手法です
  • MVGD (Multi-Variate Gaussian Distribution): 色分布の平均と共分散行列を一致させます
  • 複合メソッド: 複数のアルゴリズムを多段階に組み合わせて最高の結果を得ます

strength パラメータは線形補間(Lerp)によって適用されます: result = target + strength * (matched - target)