Contents
説明書見てみたんですが、いろいろ設定できるぶん、何だか難しそうです。
挫折しそうな心にむち打って(笑)、パラメータに関係してそうなところだけ、簡単にまとめてみました。自分が試すための下準備みたいな感じです。
まだ使ってみてないですし、説明書をざっくり斜め読みしただけなので、間違っている可能性があります。英語が読める人は説明書を読んでください。
※バージョン0.5のリリースに合わせて、2004/2/29の投稿で、以下の記事に修正を加えたものを紹介しています。バージョン0.5を使用する場合は、そちらをご覧下さい。
書式
RemoveDirt(clip clip, clip neighbour, int dist, int mthreshold, int athreshold, \ int pthreshold, int soscillation, int doscillation, int tolerance , int mode, \ bool grey, bool debug, int show)
※順番不明
パラメータ
- [ノイズ検出関連の変数]
- pthreshold: ポストプロセスのしきい値(デフォルト50)
- soscillation: この値を超えるピクセルを選択し、振幅を計算(デフォルト50)
- doscillation: 振幅がこの値を超えていたら、ノイズ除去をやめる(デフォルト70)
- [動き検出関連の変数]
- mthreshold: 動き検出のしきい値(デフォルト150)
- athreshold: 適用度のしきい値(デフォルト50)
- dist: 範囲。1/近傍9pixel,2/近傍25pixel...(デフォルト1)
- tolerance: 許容度。motionブロックの%がこの値を超えるとノイズ除去なし(デフォルト12)
- neighbour: 反復処理用比較対象クリップ(デフォルトclip)
- [ノイズ除去のモード用の変数]
- mode: 0はシンプルな平均化。1は0と2の中間(実験的)。速さは0>2>1(デフォルト2)
- [白黒クリップ用の変数]
- grey: デフォルトはfalse
- [デバッグ関連の変数]
- debug: trueでdebugviewユーティリティ用のデバッグ出力(デフォルトfalse)
- show: 1でノイズ除去済みブロックを、2でノイズ除去されていないブロックを赤く表示。YUY2のみ(デフォルト0)
注意点
Avisynthスレの81さんがまとめておられたのをパク…(略)
- RemoveDirtのあとにCropしないこと
- Cropするなら"align=true"(AviSynth2.5.3以降)で
- 24fpsものはRemoveDirtの前に逆テレシネしておかないとダメ
- 他のフィルタはRemoveDirtより後に
RemoveDirt簡易版(関数)
使い勝手が微妙っぽいので(失礼)、デバッグ関係とかのパラメータを省略して関数化してみました。名前に反して、あまりシンプルじゃありません(笑)
neighbour/grey/debug/showを省略(デフォルト値適用)し、mode=2に固定しています。
ちなみにこれも試していませんので・・・(^^;
- [書式]
SimpleRemoveDirt(dist, mthreshold, athreshold, pthreshold, soscillation, doscillation, tolerance)
- [例]
SimpleRemoveDirt(1, 150, 50, 50, 50, 70, 12)
- [関数]
function SimpleRemoveDirt(clip clip, int "dist", int "mthreshold", int "athreshold", \ int "pthreshold", int "soscillation", int "doscillation", int "tolerance") { #//--- デフォルト値の設定 ---// dist = default(dist, 1) mthreshold = default(mthreshold, 150) athreshold = default(athreshold, 50) pthreshold = default(pthreshold, 50) soscillation = default(soscillation, 50) doscillation = default(doscillation, 70) tolerance = default(tolerance, 12) #//--- メイン ---// clip = clip.RemoveDirt(dist=dist, mthreshold=mthreshold, athreshold=athreshold, \ pthreshold=pthreshold, soscillation=soscillation, doscillation=doscillation, \ tolerance=tolerance, mode=2, grey=false, debug=false, show=0) return clip }