3

次のように宣言したバックグラウンド減算器を使用しています。

BackgroundSubtractorMOG subtractor;

ここで、デフォルト以外のパラメーターで減算器を使用したいと思います。次の宣言で、いくつかのパラメーター値の組み合わせを試しました。

BackgroundSubtractorMOG subtractor = BackgroundSubtractorMOG(100, 10, 0.9 20);

ただし、 によって生成された前景マスクに違いは見られsubtractorません。まるでパラメーターが影響を与えていないかのようです。

パラメータを正しく設定していませんか? それらを設定する正しい方法は何ですか?

4

2 に答える 2

2

私は同じ問題を抱えています。コンストラクターによって提供されるパラメーターは検出器に影響を与えないようです。デフォルトのパラメーターで良好なバックグラウンド減算が得られましたが、パフォーマンスも低下しました。BackgroundSubtractorMOG2 というバリエーションを使用すると、パフォーマンスが向上しました。BackgroundSubtractorMOG を使用するのと同じ方法で使用できます。 cv::BackgroundSubtractorMOG2 mog; //--Update Background mog(frame,foreground,0.01);

于 2013-07-09T20:23:40.280 に答える
1

フォアグラウンドマスクを取得するときに、learningRateを設定していますか?Androidアプリに使用しているOpenCVのJavaバージョンでは、次のようにフォアグラウンドマスクを作成します。

subtractor.apply(mRgb, mFGMask, 0.1);

この0.1の学習率は非常に迅速に機能します。出力マスクを完全に暗くして黒い画面にするのに10フレームかかると思います。

于 2013-03-06T22:52:29.237 に答える