0

cv::calcOpticalFlowPyrLK を使用して、ビデオ シーケンス内のあるフレームから別のフレームへのオプティカル フローを計算しています。低 fps に比べて高 fps ではトラッキングの精度が低いことに気付きました。

ソース fps は 30 fps で、それを 8 でダウンサンプリングすると、すべてのフレームを使用するよりもトラッキングがはるかに正確になることがわかりました。

フレーム サイズは 360*480 で、検索ウィンドウのサイズは 21*21 です。

どんな助けでも大歓迎です!

4

3 に答える 3

0

実際、私の問題は、コード内の float から int への変換のバグであることがわかりました。

私のコードでは、すべてのフレームをループして、オプティカル フロー追跡ポイントから IOS ポイント (CGPoint) への変換を行い、再び元に戻しました。このプロセス中に、float から int に誤って変換しました (cv::Point2f の代わりに cv::Point を使用しました)。

追跡がより多くの回数呼び出されるため、エラーがより多く蓄積されるため、高 fps ではパフォーマンスが悪化しました。

于 2014-03-06T01:39:59.607 に答える