動画や画像のエッジ検出を行い、動画や画像に出力する。画像出力の場合はトレスの練習によく、動画の場合は別のツールを使ってクロマキー処理のためのマスク処理に使える。出力フォーマットは gray。そのほかのエッジ検出フィルタにconvolution、sobel、prewitt、roberts
やがある。
- ffmpeg でエッジマスク
- エッジ検出フィルタscharr
- エッジ検出フィルタ roberts
- エッジ検出フィルタ sobel, prewitt
- 鮮鋭化やぼかし、エンボス処理などができる convolution
基本コマンド
ffmpeg -i input -vf edgedetect output
初期設定(以下の2つは同じ設定)
edgedetect=low=20/255:high=50/255:mode=wires
edgedetect=20/255:50/255:wires
公式ドキュメント:FFmpeg Filters Documentation : edgedetect
オプション
- high[double]
エッジ検出の閾値の上限。大きい値ほど強いエッジ(輝度差が大きい)の検出が少なくなる。
既定値:50/255(=0.196078)
範囲:0 から 1 まで
high と low は同じ値か、low の方が小さくなければならない - low[double]
エッジ検出の閾値の下限。小さい値ほど弱いエッジ(輝度差が小さい)の検出が多くなる
既定値:20/255(=0.0784314)
範囲:0 から 1 まで - mode[int]
描写モードは2つある - 0, wires
背景黒にエッジが白のグレースケール出力。既定値 - 1, colormix
背景色はフルカラーであるが、マンガのような色彩のエフェクトが掛かる - 2, canny
Canny edge アルゴリズムでエッジ検出を行う - planes[flags]
チャンネルの指定。複数指定は + でつなげる。例:y+u+v
既定値:y+u+v+r+g+b - y
- u
- v
- r
- g
- b
サンプル画像
アニメ画像
これに既定値のエッジ検出を行う