手順メモ。録画したファイルからロゴサンプル用の画像を取り出す。
mplayer -ao pcm:file=/dev/null -vo png:z=9 -vf framestep=100 video.mp4
取り出した画像をチェックし、ロゴが読み取れないものは捨てる。
ファイルの一覧とロゴ位置を記載したファイルを作成(ok.txt)
001.png 1 918 42 965 73 002.png 1 918 42 965 73
ロゴが入ってないサンプルを取得適当に右端が映らないようcrop
mplayer -ao pcm:file=/dev/null -vo png:z=9 -vf framestep=100,crop=0:0:800:600 video.mp4
このサンプルも一覧にする(ファイル名のみ)(ng.txt)
opencv_createsampleを実行
opencv_createsample -info ok.txt -vec ok.vec -bg ng.txt -num OKサンプル数
opencv_haartrainingを実行
opencv_haartraining -data logodata -vec ok.vec -npos OKサンプル数 -nneg NGサンプル数 -nsplits 2 --nosym
今のところ終わらないw。
出来上がったlogodata.xmlファイルで検出処理をやってうまく判別できるといいんだが。
終わったけど全く検知できんwwwww。手順が間違ってるのかサンプル少ないのか・・