ffmpeg 4.3 から使える予定のフィルタ。アルゴリズムについては、”J. S. Lee, Digital image enhancement and noise filtering by use of local statistics, IEEE Trans. Pattern Anal. Mach. Intell. PAMI-2, 1980.” を参照。yaepblur は “yet another edge preserving blur filter” という意味。bilateral
フィルタよりも薄くブラーを掛けられるので調整しやすい。
引用論文:ファジィと画像パターン認識:ci.nii.ac.jp
基本コマンド
既定値のオプション内容。
ffmpeg -i input yaepblur=radius=3:planes=1:sigma=128 -c:a copy output
ffplay -i input yaepblur=3:1:128
フィルタ比較。左がフィルタを当てている。
ffplay -i input -vf split[B],yaepblur=3:1:128,crop=iw/2:ih/2:0:0[Av];[B]crop=iw/2:ih/2:0:0,[Av]hstack,scale=2*iw:-2:flags=neighbor,split[C],bitplanenoise=filter=1,[C]vstack
2つフィルタを当てて右にオリジナル。左からABCの順番。
ffplay -i input -vf split=3[B][C],yaepblur=63:1:128,crop=iw/2:ih/2:0:0[Av];[B]yaepblur=63:1:256,crop=iw/2:ih/2:0:0[Bv];[C]crop=iw/2:ih/2:0:0,[Av][Bv]hstack=3,scale=2*iw:-2:flags=neighbor,split[D],bitplanenoise=filter=1,[D]vstack
公式ドキュメント:FFmpeg Filters Documentation : yaepblur
オプション
- radius, r[int]
window の半径の指定。大きな値ほどフィルタの影響が小さくなる
既定値:3
範囲:0 から INT_MAX まで - planes, p[int]
フィルタを当てるチャンネル指定
詳しくは ffmpeg について | チャンネルの順番と注意点を参照
既定値:1
範囲:0 から 15 まで - sigma, s[int]
ブラー強度の指定
既定値:128
範囲:1 から INT_MAX まで