私は OpenCV 2.4.2 VideoCapture クラスを使用して複数のビデオからフレームを取得しています。私の目的は、ビデオ間のフレームを比較して類似のビデオ (視覚的に類似) を取得することです。
私は2つの問題に直面しています。
ビデオには空白/黒いフレームが含まれています。(ビデオをキャプチャしながら)個々のフレームをループし、ピクセルなどをチェックしてこれらのフレームを検出できます。どういうわけかこれを行うためのより高速で効率的な方法はありますか? 1,000 以上の動画があり、各動画には約 5,000 ~ 20,000 フレームがあります [毎秒 1 フレームをキャプチャしています]。私はC++でコーディングしています。
2 つの巨大なマトリックスを比較して、それらがどの程度「類似」しているかを確認します。私は最終的に各ビデオの巨大な行列を計算します。行はフレーム数に対応し、列は各フレームで計算される記述子の次元に対応します。2 つのビデオの類似性を比較する必要がある場合、私が見つけた最も簡単な方法は、ユークリッド行列を計算することでした。しかし、何千ものビデオにスケールアップすると、恐ろしく非効率的です。
アドバイスや提案をいただければ幸いです。
ありがとう、