ffmpeg でエッジ検出をする edgedetect


ffmpeg の edgedetect フィルタを使って、動画や画像のエッジ検出を行い、動画や画像に出力する。画像出力の場合はトレスの練習によく、動画の場合は別のツールを使ってクロマキー処理のためのマスク処理に使える。出力フォーマットは gray。convolutionsobel, prewitt でもエッジ検出ができる。

基本コマンド

ffmpeg -i input -vf edgedetect output

初期設定(以下の2つは同じ設定)
edgedetect=low=20/255:high=50/255:mode=wires
edgedetect=20/255:50/255:wires

オプション

  • high[double]
    エッジ検出の閾値の上限。大きい値ほど強いエッジ(輝度差が大きい)の検出が少なくなる。
    既定値:50/255
    範囲:0 から 1 まで
    high と low は同じ値か、low の方が小さくなければならない。
  • low[double]
    エッジ検出の閾値の下限。小さい値ほど弱いエッジ(輝度差が小さい)の検出が多くなる。
    既定値:20/255
    範囲:0 から 1 まで
  • mode[int]
    描写モードは2つある
    • 0, wires
      背景黒にエッジが白のグレースケール出力。既定値
    • 1, colormix
      背景色はフルカラーであるが、マンガのような色彩のエフェクトが掛かる

サンプル画像

アニメ画像

アニメ「艦隊これくしょん~艦これ~」の11話の大和出撃のシーン


これに既定値のエッジ検出を行う

エッジ検出の結果


colormix モードの場合


実写画像

実物大の戦艦大和


エッジ検出の結果


コメントを残す

メールアドレスが公開されることはありません。