Tested on: Matlab 2012a, Microsoft VS 2010, Win 7 (64 bit), OpenCV 2.4.2
See below.
(1) Install and Compile OpenCV 2.4.2 , then set PATH variables to link to OpenCV DLLs. (how to? see here )
(2) Setup mex compiler in Matlab. Run “mex –setup”, and select VS 2010 compiler form the list.
(3) Check paths in “compile.m”, edit it. Mine looks like so:
        include = 
        
          ' -IE:\OpenCV\install\include\ -IE:\OpenCV\install\include\opencv'
        
        ;
      
            
        libpath = 
        
          'E:\OpenCV\install\lib\';
        
      
            
        files = dir(fullfile(libpath,'*.lib'));
      
          (4) In TLD source, comment out the following lines in lk.cpp, fern.cpp and bb_overlap.cpp. Otherwise you will get an error.
        
          #ifdef
        
         _CHAR16_T 
      
            
        
          #define
        
         CHAR16_T 
      
            
        
          #endif
        
      
          (5) Run compile.m. If you get include errors, check PATH variables, and make sure “E:\OpenCV\install\bin;” included.
(6) Run run_TLD.m. If you get a 32-bit error, make sure your path ponits to the 64-bit version of OpenCV DLLs.
An example of errors-- “lk.obj : error LNK2019: unresolved external symbol…”
BTW1, if you successfully compiled the mex files, but get a error like this:
"??? Unexpected Standard exception from MEX file……error: (-27) create() called for the missing output array in function create”
        Error 
        
          in
        
         ==>
        
          ; tldTracking at 30
        
      
            
        xFJ = lk(2,tld.img{I}.input,tld.img{J}.input,xFI,xFI)
        
          ; % track all points by
        
      
            
        Lucas-Kanade tracker from frame I 
        
          to
        
         frame J, estimate Forward-Backward error,
      
            
        and NCC 
        
          for
        
         each point
      
            
         
      
            
        Error 
        
          in
        
         ==>
        
          ; tldProcessFrame at 25
        
      
            
        [tBB tConf tValid tld] = tldTracking(tld,tld.bb(:,I-1),I-1,I)
        
          ; % frame-to-frame
        
      
            
        tracking (MedianFlow)
      
            
         
      
            
        Error 
        
          in
        
         ==>
        
          ; tldExample at 41
        
      
            
        tld = tldProcessFrame(tld,i)
        
          ; % process frame i
        
      
            
         
      
            
        Error 
        
          in
        
         ==>
        
          ; run_TLD at 43
        
      
            
        [bb,conf] = tldExample(opt);
      
          Please change the line 186 of lk,cpp from
        cvCalcOpticalFlowPyrLK( IMG[J], IMG[I], PYR[J], PYR[I], points[1], points[2], nPts, cvSize(win_size,win_size), Level, 0     , 0, cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,20,0.03), CV_LKFLOW_INITIAL_GUESSES | CV_LKFLOW_PYR_A_READY | CV_LKFLOW_PYR_B_READY );
      
          to
        cvCalcOpticalFlowPyrLK( IMG[J], IMG[I], PYR[J], PYR[I], points[1], points[2], nPts, cvSize(win_size,win_size), Level, status     , 0, cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,20,0.03), CV_LKFLOW_INITIAL_GUESSES | CV_LKFLOW_PYR_A_READY | CV_LKFLOW_PYR_B_READY );
      
          
BTW2, Some Matlab extensions are needed:
Image Acquisition Toolbox, Image Processing Toolbox, Signal Processing Toolbox, Statistics Toolbox
For other platforms, pls refer to the link: https://github.com/zk00006/OpenTLD/wiki/Installation


 
					 
					