Skip to content
Snippets Groups Projects
Select Git revision
  • db696c81cd6778d76addce776489c1ef2ea9a2e9
  • master default protected
  • Cover
  • NoSign
  • Bootstrap
  • leftover
6 results

00_testing.R

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Tapter.cpp 2.57 KiB
    #include "Tapter.h"
    
    #if CV_MAJOR_VERSION >= 2 && CV_MAJOR_VERSION <= 3
    
    //IPLIMAGE?
    // #include <opencv2/core/types_c.h>
    // #include <opencv2/core/mat.hpp>
    // #include <opencv2/imgproc.hpp>
    // #include "lb/BGModelSom.h"
    // #include "lb/Types.h"
    
    using namespace bgslibrary::algorithms;
    
    Tapter::Tapter() :
        IBGS(quote(Tapter)),
        sensitivity(75),
        trainingSensitivity(245),
        learningRate(62),
        trainingLearningRate(255),
        trainingSteps(55)
    {
        // load_config("./config/Tapter.xml")
        debug_construction(Tapter);
        initLoadSaveConfig(algorithmName);
    }
    
    Tapter::~Tapter()
    {
        debug_destruction(Tapter);
        delete m_pBGModel;
    }
    
    void Tapter::process(const cv::Mat &img_input, cv::Mat &img_output, cv::Mat &img_bgmodel)
    {
        //!  continue the normal
        init(img_input, img_output, img_bgmodel);
    
        IplImage *frame = new cvIplImage(img_input);
        // IplImage *frame = new cv::cvarrToMat(img_input);
    
        if (firstTime)
        {
            int w = cvGetSize(frame).width;
            int h = cvGetSize(frame).height;
    
            m_pBGModel = new lb::BGModelSom(w, h);
            m_pBGModel->InitModel(frame);
            m_pBGModel->setBGModelParameter(0, sensitivity);
            m_pBGModel->setBGModelParameter(1, trainingSensitivity);
            m_pBGModel->setBGModelParameter(2, learningRate);
            m_pBGModel->setBGModelParameter(3, trainingLearningRate);
            m_pBGModel->setBGModelParameter(5, trainingSteps); //xxx Y 5? what happened to 4?
    
            firstTime = false;
        }
    
    
        m_pBGModel->UpdateModel(frame);
    
        img_foreground = cv::cvarrToMat(m_pBGModel->GetFG());
        img_background = cv::cvarrToMat(m_pBGModel->GetBG());
    
    #ifndef MEX_COMPILE_FLAG
        if (showOutput)
        {
            cv::imshow("SOM Mask", img_foreground);
            cv::imshow("SOM Model", img_background);
        }
    #endif
    
        img_foreground.copyTo(img_output);
        img_background.copyTo(img_bgmodel);
    
        delete frame;
    }
    
    void Tapter::save_config(cv::FileStorage &fs)
    {
        fs << "sensitivity"         << sensitivity;
        fs << "trainingSensitivity" << trainingSensitivity;
        fs << "learningRate"        << learningRate;
        fs << "trainingLearningRate"<< trainingLearningRate;
        fs << "trainingSteps"       << trainingSteps;
        fs << "showOutput"          << showOutput;
    }
    
    void Tapter::load_config(cv::FileStorage &fs)
    {
        fs["sensitivity"]           >> sensitivity;
        fs["trainingSensitivity"]   >> trainingSensitivity;
        fs["learningRate"]          >> learningRate;
        fs["trainingLearningRate"]  >> trainingLearningRate;
        fs["trainingSteps"]         >> trainingSteps;
        fs["showOutput"]            >> showOutput;
    }
    
    #endif