トーンカーブで RGB の調整が出来る curves


個別の RGB でも RGB すべてでもトーンカーブで色の調整ができる curves フィルタは Adobe Photoshop や Gimp などのペイントツールによくある機能でこれが ffmpeg でも使える。ペイントツールで同時に表示されるヒストグラムは histogram フィルタで表示できるが、Photoshop のようなメリハリの付いたグラフではなくて Gimp に近い感じになる。また Photoshop のトーンカーブプリセット .acv が読み込める。

ffmpeg でヒストグラムを表示する

基本コマンド

青の中央値を少し明るくする
ffplay input -vf "curves=blue='0|0 0.5|0.58 1|1'"

ビンテージプリセットを指定する
ffplay input -vf curves=vintage

Photoshop カーブプリセットを指定して緑も調整する
ffplay input -vf "curves=psfile='MyCurvesPresets/purple.acv':green='0|0 0.45|0.53 1|1'"

gnuplot に渡す
ffmpeg -f lavfi -i color -vf curves=cross_process:plot=/tmp/curves.plt -frames:v 1 -f null -
gnuplot -p /tmp/curves.plt

公式ドキュメント:FFmpeg Filters Documentation : curves

オプション

“/” で数値指定もできるが、”|” の使用推奨。”|” の左が入力値、右が出力値になる。色指定で大きく変化させない場合は最初と最後に 0|0 1|1 を追加し、中間を調整する。

  • preset[int]
    プリセットを指定する

    • 0, none:無指定。既定値
    • 1, color_negative:明度が低くい色を反転する
    • 2, cross_process:明度が小さく淡い色になる
    • 3, darker:暗くする
    • 4, increase_contrast:弱いコントラスト効果
    • 5, lighter:明るくする
    • 6, linear_contrast:少しのコントラスト効果
    • 7, medium_contrast:中くらいのコントラスト効果
    • 8, negative:明度差のある色を反転する
    • 9, strong_contrast:強いコントラスト効果
    • 10, vintage:ビンテージ、紙が日焼けて黄色っぽくなる
  • master, m[string]
    赤緑青すべてを調整する
    範囲:0 から 1 まで
  • red, r[string]
    赤を調整する
    範囲:0 から 1 まで
  • green, g[string]
    緑を調整する
    範囲:0 から 1 まで
  • blue, b[string]
    青を調整する
    範囲:0 から 1 まで
  • all[string]
    赤緑青すべてを調整する(master を除く)。追加設定に使う
    範囲:0 から 1 まで
  • psfile
    Photoshop カーブプリセット(.acv)のファイルパスを指定して読み込む
  • plot
    Gnuplot スクリプトを保存するファイル名とパスを指定する

コメントを残す

メールアドレスが公開されることはありません。