Skip to content

Commit

Permalink
restored CV_EXPORTS_W in the background subtraction classes
Browse files Browse the repository at this point in the history
  • Loading branch information
vpisarev committed Mar 21, 2013
1 parent d310cca commit 40dd25d
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 61 deletions.
3 changes: 3 additions & 0 deletions modules/python/src2/cv2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,9 @@ typedef Ptr<DescriptorExtractor> Ptr_DescriptorExtractor;
typedef Ptr<Feature2D> Ptr_Feature2D;
typedef Ptr<DescriptorMatcher> Ptr_DescriptorMatcher;
typedef Ptr<BackgroundSubtractor> Ptr_BackgroundSubtractor;
typedef Ptr<BackgroundSubtractorMOG> Ptr_BackgroundSubtractorMOG;
typedef Ptr<BackgroundSubtractorMOG2> Ptr_BackgroundSubtractorMOG2;
typedef Ptr<BackgroundSubtractorGMG> Ptr_BackgroundSubtractorGMG;

typedef Ptr<cv::softcascade::ChannelFeatureBuilder> Ptr_ChannelFeatureBuilder;

Expand Down
122 changes: 61 additions & 61 deletions modules/video/include/opencv2/video/background_segm.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,14 @@ namespace cv
The class is only used to define the common interface for
the whole family of background/foreground segmentation algorithms.
*/
class BackgroundSubtractor : public Algorithm
class CV_EXPORTS_W BackgroundSubtractor : public Algorithm
{
public:
//! the update operator that takes the next video frame and returns the current foreground mask as 8-bit binary image.
virtual void apply(InputArray image, OutputArray fgmask, double learningRate=-1) = 0;
CV_WRAP virtual void apply(InputArray image, OutputArray fgmask, double learningRate=-1) = 0;

//! computes a background image
virtual void getBackgroundImage(OutputArray backgroundImage) const = 0;
CV_WRAP virtual void getBackgroundImage(OutputArray backgroundImage) const = 0;
};


Expand All @@ -76,23 +76,23 @@ class BackgroundSubtractor : public Algorithm
http://personal.ee.surrey.ac.uk/Personal/R.Bowden/publications/avbs01/avbs01.pdf
*/
class BackgroundSubtractorMOG : public BackgroundSubtractor
class CV_EXPORTS_W BackgroundSubtractorMOG : public BackgroundSubtractor
{
public:
virtual int getHistory() const = 0;
virtual void setHistory(int nframes) = 0;
CV_WRAP virtual int getHistory() const = 0;
CV_WRAP virtual void setHistory(int nframes) = 0;

virtual int getNMixtures() const = 0;
virtual void setNMixtures(int nmix) = 0;
CV_WRAP virtual int getNMixtures() const = 0;
CV_WRAP virtual void setNMixtures(int nmix) = 0;

virtual double getBackgroundRatio() const = 0;
virtual void setBackgroundRatio(double backgroundRatio) = 0;
CV_WRAP virtual double getBackgroundRatio() const = 0;
CV_WRAP virtual void setBackgroundRatio(double backgroundRatio) = 0;

virtual double getNoiseSigma() const = 0;
virtual void setNoiseSigma(double noiseSigma) = 0;
CV_WRAP virtual double getNoiseSigma() const = 0;
CV_WRAP virtual void setNoiseSigma(double noiseSigma) = 0;
};

CV_EXPORTS Ptr<BackgroundSubtractorMOG>
CV_EXPORTS_W Ptr<BackgroundSubtractorMOG>
createBackgroundSubtractorMOG(int history=200, int nmixtures=5,
double backgroundRatio=0.7, double noiseSigma=0);

Expand All @@ -104,47 +104,47 @@ CV_EXPORTS Ptr<BackgroundSubtractorMOG>
International Conference Pattern Recognition, UK, August, 2004.
http://www.zoranz.net/Publications/zivkovic2004ICPR.pdf
*/
class BackgroundSubtractorMOG2 : public BackgroundSubtractor
class CV_EXPORTS_W BackgroundSubtractorMOG2 : public BackgroundSubtractor
{
public:
virtual int getHistory() const = 0;
virtual void setHistory(int history) = 0;
CV_WRAP virtual int getHistory() const = 0;
CV_WRAP virtual void setHistory(int history) = 0;

virtual int getNMixtures() const = 0;
virtual void setNMixtures(int nmixtures) = 0;
CV_WRAP virtual int getNMixtures() const = 0;
CV_WRAP virtual void setNMixtures(int nmixtures) = 0;

virtual double getBackgroundRatio() const = 0;
virtual void setBackgroundRatio(double ratio) = 0;
CV_WRAP virtual double getBackgroundRatio() const = 0;
CV_WRAP virtual void setBackgroundRatio(double ratio) = 0;

virtual double getVarThreshold() const = 0;
virtual void setVarThreshold(double varThreshold) = 0;
CV_WRAP virtual double getVarThreshold() const = 0;
CV_WRAP virtual void setVarThreshold(double varThreshold) = 0;

virtual double getVarThresholdGen() const = 0;
virtual void setVarThresholdGen(double varThresholdGen) = 0;
CV_WRAP virtual double getVarThresholdGen() const = 0;
CV_WRAP virtual void setVarThresholdGen(double varThresholdGen) = 0;

virtual double getVarInit() const = 0;
virtual void setVarInit(double varInit) = 0;
CV_WRAP virtual double getVarInit() const = 0;
CV_WRAP virtual void setVarInit(double varInit) = 0;

virtual double getVarMin() const = 0;
virtual void setVarMin(double varMin) = 0;
CV_WRAP virtual double getVarMin() const = 0;
CV_WRAP virtual void setVarMin(double varMin) = 0;

virtual double getVarMax() const = 0;
virtual void setVarMax(double varMax) = 0;
CV_WRAP virtual double getVarMax() const = 0;
CV_WRAP virtual void setVarMax(double varMax) = 0;

virtual double getComplexityReductionThreshold() const = 0;
virtual void setComplexityReductionThreshold(double ct) = 0;
CV_WRAP virtual double getComplexityReductionThreshold() const = 0;
CV_WRAP virtual void setComplexityReductionThreshold(double ct) = 0;

virtual bool getDetectShadows() const = 0;
virtual void setDetectShadows(bool detectShadows) = 0;
CV_WRAP virtual bool getDetectShadows() const = 0;
CV_WRAP virtual void setDetectShadows(bool detectShadows) = 0;

virtual int getShadowValue() const = 0;
virtual void setShadowValue(int value) = 0;
CV_WRAP virtual int getShadowValue() const = 0;
CV_WRAP virtual void setShadowValue(int value) = 0;

virtual double getShadowThreshold() const = 0;
virtual void setShadowThreshold(double threshold) = 0;
CV_WRAP virtual double getShadowThreshold() const = 0;
CV_WRAP virtual void setShadowThreshold(double threshold) = 0;
};

CV_EXPORTS Ptr<BackgroundSubtractorMOG2>
CV_EXPORTS_W Ptr<BackgroundSubtractorMOG2>
createBackgroundSubtractorMOG2(int history=500, double varThreshold=16,
bool detectShadows=true);

Expand All @@ -155,42 +155,42 @@ CV_EXPORTS Ptr<BackgroundSubtractorMOG2>
* Variable-Lighting Conditions for a Responsive Audio Art Installation," A. Godbehere,
* A. Matsukawa, K. Goldberg, American Control Conference, Montreal, June 2012.
*/
class BackgroundSubtractorGMG : public BackgroundSubtractor
class CV_EXPORTS_W BackgroundSubtractorGMG : public BackgroundSubtractor
{
public:
virtual int getMaxFeatures() const = 0;
virtual void setMaxFeatures(int maxFeatures) = 0;
CV_WRAP virtual int getMaxFeatures() const = 0;
CV_WRAP virtual void setMaxFeatures(int maxFeatures) = 0;

virtual double getDefaultLearningRate() const = 0;
virtual void setDefaultLearningRate(double lr) = 0;
CV_WRAP virtual double getDefaultLearningRate() const = 0;
CV_WRAP virtual void setDefaultLearningRate(double lr) = 0;

virtual int getNumFrames() const = 0;
virtual void setNumFrames(int nframes) = 0;
CV_WRAP virtual int getNumFrames() const = 0;
CV_WRAP virtual void setNumFrames(int nframes) = 0;

virtual int getQuantizationLevels() const = 0;
virtual void setQuantizationLevels(int nlevels) = 0;
CV_WRAP virtual int getQuantizationLevels() const = 0;
CV_WRAP virtual void setQuantizationLevels(int nlevels) = 0;

virtual double getBackgroundPrior() const = 0;
virtual void setBackgroundPrior(double bgprior) = 0;
CV_WRAP virtual double getBackgroundPrior() const = 0;
CV_WRAP virtual void setBackgroundPrior(double bgprior) = 0;

virtual int getSmoothingRadius() const = 0;
virtual void setSmoothingRadius(int radius) = 0;
CV_WRAP virtual int getSmoothingRadius() const = 0;
CV_WRAP virtual void setSmoothingRadius(int radius) = 0;

virtual double getDecisionThreshold() const = 0;
virtual void setDecisionThreshold(double thresh) = 0;
CV_WRAP virtual double getDecisionThreshold() const = 0;
CV_WRAP virtual void setDecisionThreshold(double thresh) = 0;

virtual bool getUpdateBackgroundModel() const = 0;
virtual void setUpdateBackgroundModel(bool update) = 0;
CV_WRAP virtual bool getUpdateBackgroundModel() const = 0;
CV_WRAP virtual void setUpdateBackgroundModel(bool update) = 0;

virtual double getMinVal() const = 0;
virtual void setMinVal(double val) = 0;
CV_WRAP virtual double getMinVal() const = 0;
CV_WRAP virtual void setMinVal(double val) = 0;

virtual double getMaxVal() const = 0;
virtual void setMaxVal(double val) = 0;
CV_WRAP virtual double getMaxVal() const = 0;
CV_WRAP virtual void setMaxVal(double val) = 0;
};


CV_EXPORTS Ptr<BackgroundSubtractorGMG> createBackgroundSubtractorGMG(int initializationFrames=120,
CV_EXPORTS_W Ptr<BackgroundSubtractorGMG> createBackgroundSubtractorGMG(int initializationFrames=120,
double decisionThreshold=0.8);

}
Expand Down

0 comments on commit 40dd25d

Please sign in to comment.