スクリプト

Histogram_S

概要

ヒストグラムを編集画面上に表示するスクリプト

詳細説明

Histogram_S AviUtl ExEdit2 ヒストグラム表示スクリプト

概要

AviUtl2 のプレビュー画面上にヒストグラムを表示する AivUtl ExEdit 2 のスクリプトです.画像ファイルに対して色調補正をする場面などに表示しておくと便利です.

  • 現在の編集画面全体や,特定のレイヤーに限ったヒストグラムを表示するオブジェクトを配置できます.

  • 色空間も RGB や YUV, Oklab など複数から選べ,対数スケールでの表示も可能です.

  • 動画出力中やプレビュー再生中は自動的に非表示に設定することもできます.

使用方法

「オブジェクトを追加」メニュー → 編集補助 → 色調整 → Histogram_S

ヒストグラムの仕様

  1. 色空間ごとに色チャンネル 3 つがグラフとして表示されます.加えてアルファチャンネルも「アルファ値」が有効なら表示されます.

  2. 各チャンネルは 256 段階の度数分布として表現されます.この段階数より細かい差は反映されません.

  3. 半透明ピクセルに対しては次のようにカウントされます:

    1. 色チャンネルのグラフでは,そのアルファ値で重み付けしてカウント (例えば 50% の半透明ピクセルは,0.5 ピクセル分).
    2. アルファチャンネルでは,そのまま 1 ピクセル分としてカウント.
  4. HSV などのように「色相」を持っている色空間に対しては,次のように「色相」がカウントされます:

    1. 無彩色なピクセルはカウントされません.
    2. 「色相を彩度で重み付け」が ON の場合は「彩度」に相当する成分でカウントに重み付けをします (例えば彩度が 50% のピクセルは 100% の場合の 0.5 ピクセル分).
    3. これらに加えて,上述のアルファチャンネルの重みも適用されます.

パラメタの説明

ヒストグラムのグラフ1つ当たりの幅をピクセル単位で指定します.

  • 実際のオブジェクト幅は左右に追加で 8 ピクセルずつの余白があります.
  • ヒストグラムが 256 段階なので,256 の倍数だと歪みのないグラフになります.

最小値は 256, 最大値は 1024, 初期値は 256.

高さ

ヒストグラムのグラフ1つ当たりの高さをピクセル単位で指定します.

  • 実際のグラフは上に追加で 8 ピクセルの余白 / オーバーフロー領域があります.

最小値は 16, 最大値は 400, 初期値は 100.

対象, レイヤー指定

ヒストグラムの統計対象を指定します.

  1. 「対象」は次から選びます.

    1. フレームバッファ(アルファ値なし)

      フレームバッファ全体を対象にします.半透明ピクセルは背景に黒を置いた不透明ピクセルとして取り扱われます.

    2. フレームバッファ(アルファ値あり)

      フレームバッファ全体を対象にします.半透明ピクセルはそのまま半透明ピクセルとして取り扱われます.

    3. レイヤー(絶対指定)

      「レイヤー指定」で指定したレイヤーを対象にします.

    4. レイヤー(相対指定)

      ヒストグラムオブジェクトのあるレイヤーから「レイヤー指定」で指定したレイヤー分だけ,上下にあるレイヤーを対象にします.

    初期値は フレームバッファ(アルファ値あり).

  2. レイヤー指定

    「対象」に レイヤー(絶対指定)レイヤー(相対指定) を選んだ場合のレイヤーを指定します.それ以外の場合は無視されます.

    なお,指定したレイヤーは描画処理がもう 1 度実行されます.その分処理速度が遅くなる可能性があるので注意.

    • 「対象」が レイヤー(絶対指定) の場合,「レイヤー指定」の番号がそのままレイヤー番号になります.

      例: 8 だと Layer8.

    • 「対象」が レイヤー(相対指定) の場合,ヒストグラムオブジェクトのあるレイヤーから「レイヤー指定」で指定したレイヤー分だけ上下にあるレイヤーを対象にします.

      例: -2 だと 2 つ上のレイヤー.

    初期値は -1.

注記

AviUtl2 では1シーン当たりのレイヤー数に明確な上限がなく,またこのパラメタは時間経過で変化させる使用法は想定されにくいので,「レイヤー指定」はトラックバーではなくテキストボックスに直接入力する設定方法にしています.

色空間

色チャンネルのグラフに表示する色空間・座標を指定します.次の選択肢があります:

色空間 チャンネル構成 参考
XYZ $X\;/\;Y\;/\;Z$ sRGB に準じた XYZ 色空間への変換.
RGB $R\;/\;G\;/\;B$ 変換なし.
sRGB $R\;/\;G\;/\;B$ sRGB 色空間 (線形 RGB).
Oklab $L\;/\;a\;/\;b, \quad (L: 0\% \sim 100\%;\; a, b: -33.3\% \sim +33.3\%)$ Oklab 色空間
OKLCH $L\;/\;C\;/\;h, \quad (L: 0\% \sim 100\%;\; C: 0\% \sim 33.3\%, h: 0\degree \sim 360\degree)$ OKLCh 色空間
YUV(BT.601) $Y\;/\;U\;/\;V, \quad (L: 0\% \sim 100\%;\; U, V: -50\% \sim +50\%)$ YUV への BT.601 準拠の変換.
YUV(BT.709) $Y\;/\;U\;/\;V, \quad (L: 0\% \sim 100\%;\; U, V: -50\% \sim +50\%)$ YUV への BT.709 準拠の変換.
YUV(BT.2020) $Y\;/\;U\;/\;V, \quad (L: 0\% \sim 100\%;\; U, V: -50\% \sim +50\%)$ YUV への BT.2020 準拠の変換.
HSV(円柱) $H\;/\;S\;/\;V, \quad (H: 0\degree \sim 360\degree;\; S, V: 0\% \sim 100\%)$ HSV 色空間の円柱座標系.
HSV(円錐) $H\;/\;S\;/\;V, \quad (H: 0\degree \sim 360\degree;\; S, V: 0\% \sim 100\%)$ HSV 色空間の円錐座標系.
HSL(円柱) $H\;/\;S\;/\;L, \quad (H: 0\degree \sim 360\degree;\; S, L: 0\% \sim 100\%)$ HSL 色空間の円柱座標系.
HSL(双円錐) $H\;/\;S\;/\;L, \quad (H: 0\degree \sim 360\degree;\; S, L: 0\% \sim 100\%)$ HSL 色空間の双円錐座標系.
  • OklabOKLCH での彩度の上限が 33.3% なのは,RGB で表現可能な色は概ねこの範囲が限界のためです.

初期値は RGB.

色相を彩度で重み付け

HSV などのように「色相」を持っている色空間に対して,「色相」を「彩度」に相当する成分でカウントに重み付けをします.

  • 例えば彩度が 50% のピクセルは 100% の場合の 0.5 ピクセル分となります.
  • OFF の場合でも,無彩色なピクセルはカウントされません.
  • RGB などのように「色相」を持たない色空間に対しては無視されます.

初期値は OFF

アルファ値

アルファチャンネルのグラフを表示するかどうかを指定します.アルファチャンネルは 4 つ目のグラフとして表示されます.

初期値は OFF.

拡大率

グラフの縦方向の拡大率を調整します.大きくすると小さい数値の差も見分けやすくなりますが,極端に大きな値は上端で途切れてしまいます.

「スケール」線形スケール の場合はグラフの下端を基準として, 対数スケール の場合はグラフの下から 75% の線を基準として拡大縮小します.

% 単位で指定,最小値は 0, 最大値は 1600, 初期値は 100.

スケール

グラフで使う目盛りの種類を指定します.次の選択肢があります:

  1. 線形スケール

    ピクセル数に比例するだけの長さでグラフを表示します.

  2. 対数スケール

    ピクセル数の対数でグラフを表示します.極端にサンプル数が少ない部分も見分けやすくなります.

初期値は 線形スケール.

平滑化

統計結果をグラフにする前に,度数分布を隣り合う区間と平均をとることで,グラフが滑らかになります.パレットベースなど減色した画像や,分布に偏りのある色空間を選んだときに見られる不自然なギザギザが軽減されます.

平均をとる隣り合う区間の個数 (自身を除く) を指定,最小値は 0, 最大値は 15, 初期値は 0.

描画色

グラフや罫線の色を指定します.

  • 「色を付ける」が ON の場合,一部のグラフの色にはこの「描画色」が反映されません.

初期値は ffffff (白色).

背景色, 背景透明度

ヒストグラムオブジェクトの背景色とその透明度を指定します.

  1. 「背景色」の初期値は 000000 (黒色).
  2. 「背景透明度」は % 単位で指定,最小値は 0, 最大値は 100, 初期値は 0.

色を付ける

一部の色チャンネルのグラフを,「描画色」以外の色で描画します.

どの色チャンネルがどの色になるかは「色空間」によって変わります.この色は調整できません.

初期値は ON.

罫線

罫線を表示するかどうかを設定します.

初期値は ON.

ラベル位置

グラフの各成分の名前を文字で表示する位置を調整します.左右位置を % 単位で指定,±100% だと非表示になります.

  • フォントや文字の大きさの指定はできません.

最小値は -100, 最大値は 100, 初期値は -100 (非表示).

表示モード

動画出力中やプレビュー再生中は自動的に非表示に設定することができます.次の選択肢があります:

  1. 常に表示

    動画出力中やプレビュー再生中でも表示されます.

  2. 動画出力中は非表示

    動画出力中には非表示になりますが,プレビュー再生中は表示されます.

  3. プレビュー再生中も非表示

    動画出力中とプレビュー再生中の両方で非表示になります (停止中のプレビュー画面でのみ表示されます).

初期値は 動画出力中は非表示.

※引用元:Histogram_S/README.md

参考