Select Git revision
FrameProcessor.h
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
FrameProcessor.h 5.31 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
#pragma warning(disable : 4482)
#include "IFrameProcessor.h"
#include "PreProcessor.h"
#include "package_bgs/IBGS.h"
#include "package_bgs/bgslibrary.h"
#include "package_analysis/ForegroundMaskAnalysis.h"
namespace bgslibrary
{
class FrameProcessor : public IFrameProcessor
{
private:
bool firstTime;
long frameNumber;
std::string processname;
double duration;
std::string tictoc;
cv::Mat img_preProcessor;
PreProcessor* preProcessor;
bool enablePreProcessor;
cv::Mat img_frameDifference;
FrameDifference* frameDifference;
bool enableFrameDifference;
cv::Mat img_staticFrameDifference;
StaticFrameDifference* staticFrameDifference;
bool enableStaticFrameDifference;
cv::Mat img_weightedMovingMean;
WeightedMovingMean* weightedMovingMean;
bool enableWeightedMovingMean;
cv::Mat img_weightedMovingVariance;
WeightedMovingVariance* weightedMovingVariance;
bool enableWeightedMovingVariance;
#if CV_MAJOR_VERSION == 2
cv::Mat img_mixtureOfGaussianV1;
MixtureOfGaussianV1* mixtureOfGaussianV1;
bool enableMixtureOfGaussianV1;
#endif
cv::Mat img_mixtureOfGaussianV2;
MixtureOfGaussianV2* mixtureOfGaussianV2;
bool enableMixtureOfGaussianV2;
cv::Mat img_adaptiveBackgroundLearning;
AdaptiveBackgroundLearning* adaptiveBackgroundLearning;
bool enableAdaptiveBackgroundLearning;