预处理(PreProcessor)模块是BgsLibrary中一个必选的模块,是真正进入背景建模算法的“预处理”过程,其主要功能包括‘去模糊’、‘获得灰度图’、'应用Canny算子‘等可选模块。
下面给出源码:
#include "PreProcessor.h"
namespace bgslibrary
{
PreProcessor::PreProcessor() : firstTime(true), equalizeHist(false), gaussianBlur(false)
{
std::cout << "PreProcessor()" << std::endl;
}
PreProcessor::~PreProcessor()
{
std::cout << "~PreProcessor()" << std::endl;
}
void PreProcessor::setEqualizeHist(bool value)
{
equalizeHist = value;
}
void PreProcessor::setGaussianBlur(bool value)
{
gaussianBlur = value;
}
cv::Mat PreProcessor::getGrayScale()
{
return img_gray.clone();
}
void PreProcessor::process(const cv::Mat &img_input, cv::Mat &img_output)
{
if (img_input.empty())
return;
loadConfig();
if (firs