0

私はC++でopenCvを使用しており、さまざまな照明条件で動くボールを見つけようとしています。これまでのところ、HSV色空間を使用して画像をしきい値処理することで画像をフィルタリングできます。これに伴う問題は、同じような色の他のオブジェクトを拾うことです。色/背景が異なるボールがあるたびに正確なhsv範囲を把握するのは非常に面倒です。

移動しているオブジェクトのみを検出するために、しきい値処理されたバイナリイメージにフィルターを適用する方法はありますか?この方法では、通常は静止しているため、ボールのみを検索し、他のオブジェクトは検索しません。

ありがとうございました、

ヴァルン

4

1 に答える 1

1

最も単純なアプローチは、画像シーケンスでのフレーム差分/バックグラウンド学習です。

  • フレームの差分:2つの連続するフレームを差し引くと、結果は可動部分になります(おそらく、移動するオブジェクトのエッジのみを取得します)

  • バックグラウンド学習:たとえば、50フレームを超える平均を作成します。これが学習したバックグラウンドになり、現在のフレームを差し引きます。違いは可動部分です。

于 2011-08-24T14:54:06.860 に答える