Ask Your Question
0

BackgroundSubtractorMOG2 set parameters

asked Nov 9 '15

giuseppedes gravatar image

Hi, i'm trying to use the class BackgroundSubtracorMOG2 with Opencv 3.0.

After:

Ptr<BackgroundSubtractor> pMOG2;

pMOG2 = createBackgroundSubtractorMOG2();

I want to set some parameters like:

    pMOG2.setShadowThreshold(0.5);

But it tells me:

No member named 'setShadowThreshold' in 'cv::Ptr<cv::backgroundsubtractor>'

Same with the operator "->" instead of "."

Do you know how to set parameters of this class?

Preview: (hide)

Comments

3

correct usage is like below :

Ptr<BackgroundSubtractorMOG2> pMOG2 = createBackgroundSubtractorMOG2();
pMOG2->setShadowThreshold(0.5);
sturkmen gravatar imagesturkmen (Nov 9 '15)edit
1

Since no-one explains why it is failing. The overall BackgroundSubtractor object does not have that specific function, therefore you need a pointer to an object of the correct type, which is BackgroundSubtractorMOG2 in this case.

StevenPuttemans gravatar imageStevenPuttemans (Nov 9 '15)edit

1 answer

Sort by » oldest newest most voted
3

answered Nov 9 '15

LBerger gravatar image

updated Nov 9 '15

Something like this :

if (pMOG2.dynamicCast<cv::BackgroundSubtractorMOG2>()!=NULL)
    pMOG2.dynamicCast<cv::BackgroundSubtractorMOG2>()->setShadowThreshold(0.5);
Preview: (hide)

Question Tools

1 follower

Stats

Asked: Nov 9 '15

Seen: 1,893 times

Last updated: Nov 09 '15