Aodaruma / ImageFFT

FFT effect for image in AviUtl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ImageFFT

画像の高速フーリエ変換(FFT)・高速逆フーリエ変換(IFFT)を行うプラグインです。

ImageFFT

現在は version 1.0 が最新です。

FFT@ImageFFT

以下はパラメーターの説明です。

  • トラックバー・チェックボックス
    • Channel: FFT を実行する画像チャンネル [All, Mono, Red, Green, Blue, Alpha]
    • Re<->Im: 出力する画像の実部・虚部切り替え(Channel == "All"のみ有効; その他では R で実部・G で虚部を出力します。)
    • SwapQ: 周波数成分の象限入れ替えを行うかどうか
    • OutCurve: 出力値に対する変換の種類 [Linear, Log2]
    • Enable: FFT を実行するかどうか
    • ShowHelp: ヘルプを表示するかどうか

IFFT@ImageFFT

以下はパラメーターの説明です。

  • トラックバー・チェックボックス
    • Channel: IFFT の実行結果の出力先画像チャンネル [All, Mono, Red, Green, Blue, Alpha]
    • Re<->Im: 入力する画像が実部・虚部いずれか(Channel == "All"のみ有効; その他では R で実部・G で虚部としてロードします。
    • SwapQ: 周波数成分の象限入れ替えを行うかどうか
    • InCurve: 入力値に対する変換の種類 [Linear, Log2]
    • Enable: IFFT を実行するかどうか
    • ShowHelp: ヘルプを表示するかどうか

tips

FFT@ImageFFT で出力される画像は、(Channel != 0 の場合) 実部と虚部をそれぞれ Red, Green に格納しています。値は 0 から 255 に正規化されており、それぞれ 128 を基準値としています。

元画像 ImageFFTを掛けた後の画像

ローパスフィルタとして使用する場合、以下のような手順で行うことができます。

  1. FFT@ImageFFT で、SwapQ を有効にした状態でフーリエ変換を行う。
  2. 図形 → 背景から(128, 128, 128)の背景色を持つ背景画像を、一つ後のレイヤーに作成する。
  3. 背景画像に対してエフェクトマスクを使用し、マスクの反転を有効にする。また、マスクの種類やサイズを適当な大きさにする。
  4. フレームバッファを使用し、IFFT@ImageFFT により逆フーリエ変換を行う。

ローパスフィルタの例 ローパスフィルタを適用後、IFFTを掛けた結果

これにより、元画像の低周波成分のみを抽出することができます。(より**に近い部分のみを抽出することで、より低周波な成分のみを抽出することができます。)

また、マスクの反転を無効にすることで、高周波成分のみを抽出することも可能です。(ハイパスフィルタ)

ハイパスフィルタの例 ハイパスフィルタを適用後、IFFTを掛けた結果

FFT によって得られた周波数成分の画像を編集することにより、様々な画像処理を行うことができます。是非色々と試してみてください。

画像例1 画像例2 画像例3


導入方法 / how to install

こちらのリポジトリを参照してください。

ライセンス / Licence

こちらのリポジトリを参照してください。

About

FFT effect for image in AviUtl

License:GNU Lesser General Public License v2.1


Languages

Language:C++ 80.1%Language:Lua 19.9%