【AviUtl】トーンカーブ補正っぽいスクリプトを作ってみたので配布!【スクリプト】

20161015180657 20161015180612

 

トーンカーブ補正1(RGB)はphotoshopやGimpなどの画像編集ソフトのそれのように直感的に画像や映像を補正するためのスクリプトで、画像や動画に追加して使用するアニメーション効果。

使用可能なアンカー数は4~16個(両端を含める)まで。両端を除く各アンカーのXが左から順にRGBの値の範囲である0→255(アンカー数で均等割)に対応しており、アンカーの各点を通る曲線の上下位置によって、対応する画像や映像の色要素に曲線のYの値を加算(減算)する仕組み。

モードによって加算や減算する対象を指定可能で、RGB全てに加減したり、Rのみ、BGのみに加減と限定できたりする。ちなみに画像編集ソフトのトーンカーブ補正の初期値は右斜め上に上がっていく感じになっているけど、これは横一直線。また、曲線の描き方もちょっと違うはずなのであしからず……。

 

RGBとその範囲、アンカー間の線の意味について

20161015192257 20161015194505

まず画像や映像は色の粒が1点1点順番に並ぶことで構成されていて、その1点の色を抜き出すとRGBという数値で構成されている(透明度を加えた場合はRGBAなど)。

で、このRGBの値の範囲は各0~255。白を示す0xFFFFFFはRGBの各値が255の状態。黒を示す0x000000はRGBの各値が0の状態。赤を示す0xFF0000はRGBのRが255、GとBが0の状態。緑を示す0x00FF00はRGBのRが0、Gが255、Bが0の状態。青を示す0x0000FFはRGBのRが0、Gが0、Bが255の状態。

ちなみに0x0000FFのFFとは16進数の数値で、10進数で言えば16×16=256だけど、始まりが1ではなく0なので、256から1を引いた255となる。

 

で、このスクリプトは両端を除くアンカーの位置がRGBの値の範囲と同じ0~255の範囲を持っていて、両端を除く一番左の部分のアンカーを上下させると、グレースケール(各点のRGBの平均値)の0近辺の値を持つ画素にRGB※を加減し、両端を除く一番右の部分のアンカーを上下させると、グレースケールの255近辺の値を持つ画素にRGB※を加減する。

また、モードによって加減する対象は変更可能で、上の画像はモード1、Rの要素を加減する状態。また、アンカー数が7点で両端を除く右側から2番めのアンカーを動かしていることからグレースケールにして191近辺(比較的明るい部分、色としては薄い部分)の値を持つ部分のみにRを加減している。

 

Sample

20161015200013 20161015200159

モード:0(RGB全てに加減)で、0の部分の値を大きくし、255の部分を小さくしたもの。暗い部分が明るくなり、逆に明るい部分が暗くなっている。

アンカー数を増やしてやれば、特定の範囲だけ明るくしたり、暗くしたりすることが可能。

 

20161015200817 20161015200754

16個のアンカーを配置して、モード:6(GBに加減)にしたもの。やや暗い部分と一番明るい部分に変化を出さずに、中間近辺を中心にやや明るい部分に加算するような感じにしたもの。

 

20161015202144 20161015202119

7個のアンカーを配置して、モード:4(RGに加減)にしたもの。暗い部分にのみ値を加算して、その部分だけが黄色っぽくなっている状態。

 

 

ちなみにアンカーの各点を通る曲線は、なるべく滑らかになるようにアンカーの位置を配置したほうが綺麗に補正される。また、曲線はAviUtlの関数であるobj.interpolation()で算出されているので、他の画像処理ソフトのトーンカーブ補正とはちょっと描かれる曲線が違うかも……。

項目解説

20161015202339

 

  • アンカー数:両端を含めたアンカー数を指定。
  • 太さ:0~255の範囲を示す曲線の太さ。
  • 強弱:アンカーを上下させたときの影響度。
  • MODE:RGB→R→G→B→RG→RB→GBの順番で切り替わる。
  • Guid:簡単な使い方の説明と曲線の表示。

 

DL

 

Zip形式で配布しているので、DL後に圧縮解凍ソフトで解凍してください。また、中に入っているDLLファイルと同じ名前のDLLファイルがあるときは作成日の新しいものを上書きしてください。

 

 

 

関連記事
スポンサーサイト

0 Comments

Post a comment