色彩のデノイズを行うchromanr
フィルタの使い方。軽く当てると明るさ成分には影響なく、あまり色彩を失わずにデノイズできる。変化度合いのしきい値が指定できるので調整しやすい。タイムライン編集に対応。フレーム間の色彩デノイズ、いわゆるちらつき除去はhqdn3d
フィルタを使う。
Windows の ffmpeg で生放送する方法 – 3次元デノイズフィルタ
基本コマンド
ffmpeg -i input -vf chromanr output
ffplay -i input -vf chromanr
効果を左半分に分割し、左にchromanr
フィルタを当てて、右はオリジナルを表示し、bitplanenoise
フィルタでノイズを調べ、drawtext
でノイズ係数を描写する。
ffplay -i input -vf split[2],chromanr=thres=30,bitplanenoise=7,crop=iw/2:ih:0:0,drawtext=y=20:fontfile=C\\://WINDOWS/Fonts/arial.ttf:fontsize=20:fontcolor=white:box=1:boxcolor=black@0.4:line_spacing=2:textfile=bitplanenoise_drawtext.txt[l];[2]bitplanenoise=7,crop=iw/2:ih:0:0,drawtext=y=20:fontfile=C\\://WINDOWS/Fonts/arial.ttf:fontsize=20:fontcolor=white:box=1:boxcolor=black@0.4:line_spacing=2:textfile=bitplanenoise_drawtext.txt[r];[l][r]hstack
上と同様に分割せずにYUVのUVだけを表示する。YUVの数値は読みにくいので描写しない。
ffplay -i input -vf split[2],chromanr=thres=30,bitplanenoise=7,extractplanes=u+v,vstack[l];[2]bitplanenoise=7,extractplanes=u+v,vstack[r];[l][r]hstack
公式ドキュメント:FFmpeg Filters Documentation : chromanr
オプション
- thres[float]
UVの値を平均するしきい値の設定。現在のYUVピクセル値の和と隣のYUVピクセル値の和の絶対値の差の合計がこのしきい値より低いときに平均する
既定値:30
範囲:1から200まで - sizew[int]
平均に使う矩形の水平方向の半径サイズの指定
既定値:5
範囲:1から100まで - sizeh[int]
平均に使う矩形の垂直方向の半径サイズの指定
既定値:5
範囲:1から100まで - stepw[int]
平均に使う水平方向のステップ指定
既定値:1
範囲:1から50まで - steph[int]
平均に使う垂直方向のステップ指定
既定値:1
範囲:1から50まで - threy[float]
thresで使うYの最大許容値
既定値:200
範囲:1から200まで - threu[float]
thresで使うUの最大許容値
既定値:200
範囲:1から200まで - threv[float]
thresで使うVの最大許容値
既定値:200
範囲:1から200まで