소스는 아래와 같다.<접기 or 펼치기 참조>


  • 배경(BgImg)와 현재 입력 이미지의 픽셀 차 값이 fgThreshold 이상인 것만 우믹이는 물체로 본다.
  • 영상 분야에서 움직이는 물체를 구분하는 방법중 가장 쉬운 방법이기도 하다.
  • 초기 값으로 다음과 같다.
    • fgThreshold    = 16
    • minBlobSize    = 0
  • OpenTLD 기본 설정에서는 ForegroundDetector를 사용하지 않는다.
  • DetectionResult *detectionResult는 왜 있지???



'STUDY > OpenTLD' 카테고리의 다른 글

[Class]Main  (0) 2014.04.01
main  (0) 2014.04.01
설치  (0) 2014.04.01



#include "TLD.h"

#include "ImAcq.h"

#include "Gui.h"


위의 항목들을 불러온다.




class Main

{

public:

    tld::TLD *tld;

    ImAcq *imAcq;

    tld::Gui *gui;

    bool showOutput;

bool showTrajectory;

int trajectoryLength;

    const char *printResults;

    const char *saveDir;

    double threshold;

    bool showForeground;

    bool showNotConfident;

    bool selectManually;

    int *initialBB;

    bool reinit;

    bool exportModelAfterRun;

    bool loadModel;

    const char *modelPath;

    const char *modelExportFile;

    int seed;


    Main()

    {

        tld = new tld::TLD();

        showOutput = 1;

        printResults = NULL;

        saveDir = ".";

        threshold = 0.5;

        showForeground = 0;


showTrajectory = false;

trajectoryLength = 0;


        selectManually = 0;


        initialBB = NULL;

        showNotConfident = true;


        reinit = 0;


        loadModel = false;


        exportModelAfterRun = false;

        modelExportFile = "model";

        seed = 0;


        gui = NULL;

        modelPath = NULL;

        imAcq = NULL;

    }


    ~Main()

    {

        delete tld;

        imAcqFree(imAcq);

    }


    void doWork();

};


TLD를 컨트롤 하는 메인 소스코드이다. 간단하군....



'STUDY > OpenTLD' 카테고리의 다른 글

[Class]ForegroundDetector  (0) 2014.04.12
main  (0) 2014.04.01
설치  (0) 2014.04.01


/*  Copyright 2011 AIT Austrian Institute of Technology

*

*   This file is part of OpenTLD.

*

*   OpenTLD 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.

*

*   OpenTLD 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 OpenTLD.  If not, see <http://www.gnu.org/licenses/>.

*

*/


/**

  * @author Georg Nebehay

  */


#include "Main.h"

#include "Config.h"

#include "ImAcq.h"

#include "Gui.h"


using tld::Config;

using tld::Gui;

using tld::Settings;


int main(int argc, char **argv)

{


    Main *main = new Main();

    Config config;

    ImAcq *imAcq = imAcqAlloc();

    Gui *gui = new Gui();


    main->gui = gui;

    main->imAcq = imAcq;


    if(config.init(argc, argv) == PROGRAM_EXIT)

    {

        return EXIT_FAILURE;

    }


    config.configure(main);


    srand(main->seed);


    imAcqInit(imAcq);


    if(main->showOutput)

    {

        gui->init();

    }


    main->doWork();


    delete main;

    main = NULL;

    delete gui;

    gui = NULL;


    return EXIT_SUCCESS;

}




메인 소스 코드는 위와같이 간단하다!

'STUDY > OpenTLD' 카테고리의 다른 글

[Class]ForegroundDetector  (0) 2014.04.12
[Class]Main  (0) 2014.04.01
설치  (0) 2014.04.01

나는 OpenTLD를 windows7 + 64bit 환경에서 설치하였다.

Visual Studio 2010 + Cmake를 이용하여 빌드하였다.

OpenTLD는 USB 캠으로 이용하였다.


  1. OpenTLD는 OpenCV를 사용한다.
    1. TLD : Tracking-Learning-Detection
    2. CV : Computer Vision
  2. 따라서 OpenCV를 설치하고 OpenTLD를 설치하여야 한다.


  1. OpenCV 설치한다.
    1. http://opencv.org/ 에서 다운 받는다.
    2. 압축을 푼다.
    3. 압축을 풀고 "build"라는 폴더를 만든다.    // 여기서 폴더 build는 내가 임의로 지정한 폴더 이므로 사용자에 맞게 폴더 이름을 지정하면 된다.
    4. Visual Studio 2010을 이용하여 모두 빌드한다.
  2. CMake를 이용하여 OpenCV를 빌드한다.
    1. http://www.cmake.org/ 에서 다운 받는다.
    2. 설치한다.
    3. 실행한다.
  3. Cmake를 실행한다.
    1. "Where is the source code"에 OpenCV폴더를 지정한다.
    2. "Where to build the binaries"에 OpenCV폴더에 build 폴더를 지정한다.
    3. Configure 버튼을 클릭후 환경에 맞게 설정한다.(visual studio 2010을 선택하였다.)
    4. Generate버튼을 클릭한다.
  4. OpenTLD를 Cmake를 이용하여 빌드한다..
    1. OpenTLD는 MATLAB 버젼과 C버젼이 있다.(제가 아는한... ㅋㅋ)
    2. MATLAB 버젼은 알아서 빌드하시길...
    3. C버젼을 다운 받는다.
      1. https://codeload.github.com/gnebehay/OpenTLD/zip/master 에서 OpenTLD 부분에 자세히 보면, source code 부분에서 밑줄이 있음. 
      2. MATLAB 소스 : http://personal.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html 
    4. 압축을 푼다.
    5. OpenTLD에 폴더 "build"를 만든다. (1-3와 같은 역할을 한다.)
    6. Cmake로 빌드한다.(3과 동일한 작업이다.)
    7. Visual Studio 2010을 이용하여 빌드한다.
    8. 설정을 한다.
      1. 뭐... 설정하는 방법도 좋겠지만....나는 그냥 OpenCV의 dll과 lib을 OpenTLD폴더에 옮겼다.
        1. 프로젝트를 opentld를 시작 프로젝트로 설정한다.
        2. 매크로를 확인하여 "ProjectDir"경로 밑에 dll 및 lib 파일을 옮긴다.
  5. OpenTLD를 실행한다.
    1. 실행되면서, 캠화면이 나와야 정상적으로 설치된거임.


'STUDY > OpenTLD' 카테고리의 다른 글

[Class]ForegroundDetector  (0) 2014.04.12
[Class]Main  (0) 2014.04.01
main  (0) 2014.04.01

+ Recent posts