Skip to content
Snippets Groups Projects
  • Holger Friedrich's avatar
    5ed8f779
    remove opencv1 dependencies. · 5ed8f779
    Holger Friedrich authored
    bgslib now compiles on Linux systems without libcv-dev installed.
    Almost all calls and incudes have been ported to opencv2, some are
    still used via opencv2/legacy/compat.hpp (e.g. cvFillImage).
    Hope I got everything fine also for mingw since I removed two
    mingw related defines.
    I don't have a mingw install to check it against.
    5ed8f779
    History
    remove opencv1 dependencies.
    Holger Friedrich authored
    bgslib now compiles on Linux systems without libcv-dev installed.
    Almost all calls and incudes have been ported to opencv2, some are
    still used via opencv2/legacy/compat.hpp (e.g. cvFillImage).
    Hope I got everything fine also for mingw since I removed two
    mingw related defines.
    I don't have a mingw install to check it against.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
MixtureOfGaussianV2BGS.h 1.17 KiB
/*
This file is part of BGSLibrary.

BGSLibrary is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

BGSLibrary is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with BGSLibrary.  If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once

#include <iostream>
#include <opencv2/opencv.hpp>

#include <opencv2/video/background_segm.hpp>

#include "IBGS.h"

class MixtureOfGaussianV2BGS : public IBGS
{
private:
  bool firstTime;
  cv::BackgroundSubtractorMOG2 mog;
  cv::Mat img_foreground;
  double alpha;
  bool enableThreshold;
  int threshold;
  bool showOutput;

public:
  MixtureOfGaussianV2BGS();
  ~MixtureOfGaussianV2BGS();

  void process(const cv::Mat &img_input, cv::Mat &img_output, cv::Mat &img_bgmodel);

private:
  void saveConfig();
  void loadConfig();
};