3

BackgroundSubtractor アルゴリズム BackgroundSubtractorMOG2 を使用しているときに、openCV でシャドウ検出を無効にしようとしています。ただし、bShadowDetection を false に設定した後でも、アルゴリズムは影を前景オブジェクトとして追跡しているようです。

cv::BackgroundSubtractorMOG2 bg;
bg.nmixtures = 3;
bg.bShadowDetection = false;

シャドウ トラッキングを無効にするために、BackgroundSubtractorMOG2 クラスのさまざまなメンバーを調整しようとしました。BackgroundSubtractorMOG2 の重要なクラス メンバー

bShadowDetection や fTau などのシャドウ検出に関するものは効果がないようです。ドキュメントの説明も、どういうわけか十分ではありません。

4

3 に答える 3

2

OpenCV-2.4.3を実際に使用している人にとっては、パラメーター変数が保護されてアクセスできないように設定されているため、他のソリューションは適合しません。

しかし、現在のOpenCV(2.4.3)APIドキュメントでさえ間違っています(http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html#backgroundsubtractormog2)!

Algorithm :: create()メソッドでBackgroundSubtractorMOG2を作成し、「detectShadows」が0の場合にset-methodを呼び出す必要があります。

例として、これを使用します。

using namespace cv;

Ptr<BackgroundSubtractorMOG2> bg =
    Algorithm::create<BackgroundSubtractorMOG2>("BackgroundSubtractor.MOG2");
bg->set("detectShadows", 0);
于 2013-01-31T12:25:42.427 に答える