opencv

手順メモ。録画したファイルからロゴサンプル用の画像を取り出す。

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。手順が間違ってるのかサンプル少ないのか・・