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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
