ffmpeg 4.3 から使える予定のフィルタ。軽めにフィルタを当てるとエッジ保持してノイズをうまく消せるが、既定値以上の設定だと細部が消えて油絵のような効果になるbilateral
フィルタの使い方。
基本コマンド
既定値のオプション内容。
ffmpeg -i input bilateral=sigmaS=0.1:sigmaR=0.1:planes=1 -c:a copy output
ffplay -i input bilateral=0.1:0.1:1
crop、hstack、scale、bitplanenoise
フィルタを併用してノイズの減り具合を再生して比べ。左半分にbilateral
フィルタが当たっていて、右半分はオリジナルのまま。解像度を2倍して4等分した左上を4つ並べている。
ffplay -i input -vf split=2[b],bilateral=sigmaS=0.02:sigmaR=0.03:planes=1,crop=iw/2:ih/2:0:0[a];[b]crop=iw/2:ih/2:0:0,[a]hstack=2,split=2[c],bitplanenoise=filter=1,[c]vstack=2,scale=2*iw:-2:flags=neighbor
公式ドキュメント:FFmpeg Filters Documentation : bilateral
オプション
- sigmaS[float]
空間の重みを計算するガウス関数のシグマを設定
既定値:0.1
範囲:0 から 10 まで - sigmaR[float]
範囲の重みを計算するガウス関数のシグマを設定。この数値を上げると複雑な部分が一層ぼやける
既定値:0.1
範囲:0 から 1 まで - planes[int]
フィルタを当てるチャンネル指定
詳しくは ffmpeg について | チャンネルの順番と注意点を参照
既定値:1
範囲:0 から 15 まで