TLD正確運行方法


       TLD(跟蹤學習檢測)是英國薩里大學的捷克學生Zdenek Kalal在其2010的一篇論文提出的實時性較好的單目標長時間跟蹤算法。其主頁上有相關的文章下載,源碼是從這里下載的,還可以找到安裝步驟,我先跑的是MATLAB+C的TLD程序自己按照步驟加上網站上別人的一些做法。

  我的電腦軟件環境是:win7(32位)+VS2010+Matlab2013a+OpenCV2.4.4

下載並安裝完各個軟件。是我下載的OpenCV圖標,解壓后果斷將命名改了一下,去掉了'-' '.'以及空格之類的,而且解壓后的路徑最好也如此,防止后面麻煩!

  一、首先,安裝OpenCV244(OpenCV中文網站)時,得設置系統的環境變量,右擊我的電腦->屬性->高級->環境變量。如下圖:

   我的安裝路徑是 'E:\OpenCV244\'

1. 用戶變量設置:由於我沒有中文網站上說的PATH,自己新建了一個,在其編輯界面的變量值中輸入路徑:E:\OpenCV244\opencv\build\x86\vc10\bin

同樣,新建OpenCV變量(好像可以自己定義),添加路徑:E:\OpenCV244\opencv\build

 2. 系統變量設置:找到了Path,添加路徑:E:\OpenCV244\opencv\build\x86\vc10\bin

好了,這里重新啟動一下。

  二、配置vs2010。告訴vs在什么地方找到OpenCV的頭文件和庫。在vs2010中新建一個Win32控制台應用程序的空項目,左擊下圖'屬性管理器',雙擊'Microsoft.Cpp.Win32.user',在彈出的界面上選中'VC++ 目錄'。

 

  添加的路徑如下:

      (1)可執行文件:E:\OpenCV244\opencv\build\x86\vc10\bin

      (2)包含目錄:E:\OpenCV244\opencv\build\include

             E:\OpenCV244\opencv\build\include\opencv

             E:\OpenCV244\opencv\build\include\opencv2

      (3)庫目錄:E:\OpenCV244\opencv\build\x86\vc10\lib

       在'鏈接器'->'輸入'->'附加依賴項'中添加E:\OpenCV244\opencv\build\x86\vc10\lib中的文件名稱,如下圖。

至此,設置完畢。簡單測試一下,看OpenCV是否正常工作。如下圖,可以正常顯示任意圖片。got it!

 

三、 Matlab中運行TLD。前兩部只是環境准備。

(1) Setup mex compiler in Matlab。這是TLD文件包中README文件中的一句,做法就是在打開的Matlab的Command Window界面輸入命令'mex -setup'(注意mex后必須有空格),選擇編譯器,如下圖。

(2)Compilation of mex files。檢查'complie.m'的OpenCV路徑。

我的路徑設置為:

include = ' -IE:\OpenCV244\opencv\build\include -IE:\OpenCV244\opencv\build\include\opencv -IE:\OpenCV244\opencv\build\include\opencv2';


libpath = 'E:\OpenCV244\opencv\build\x86\vc10\lib\';

注意路徑的正確!

  此時編譯,出現了【e:\program files\matlab\r2013a\extern\include\matrix.h(319) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int 】的錯誤提示。

  參照csdn上的shanpohe的博客,注釋掉lk.cpp, fern.cpp, bb_overlap.cpp文件中的

#ifdef _CHAR16_T

#define CHAR16_T

#endif

編譯成功了!

(3)運行文件包中的'run_TLD.m'。算法跟蹤一輛行進中的摩托。

 補充:vs2012+opencv249+win7的配置,幾乎一樣,再次跑通顯示程序。代碼如下

 

復制代碼
1 #include <opencv2/opencv.hpp>
 2 #include <iostream>
 3 using namespace cv;
 4 
 5 void main()
 6 {
 7     IplImage *src;
 8     src=cvLoadImage("C:/Users/qk/Documents/Visual Studio 2012/Projects/qk/qk/yongshi.jpg");
 9         cvNamedWindow("1");
10     cvShowImage("1",src);
11     cvWaitKey(0);
12     cvReleaseImage(&src);
13     cvDestroyWindow("1");
14     
15 }
復制代碼

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM