TLD即Tracking Learning Detection,Zdenek Kalal在其主页上给出的代码http://info.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html我电脑的程序配置:WIN7+VS2010+MATLAB R2010a+OpenCV2.2(也可以是Opencv2.3.1)
OpenCV2.2的下载地址(这里含有各种版本的OpenCV)
http://www.opencv.org.cn/index.php/Download第一步:安装OpenCV2.2 OpenCV和VS2010的安装教程地址
http://www.opencv.org.cn/index.p ... E8%A3%85OpenCV2.4.3(这里OpenCV2.2和OpenCV2.3.4的安装步骤是一样的)
第二步:启动matlab R2010a,在命令窗口中输入“mex –setup”,按y键进入编译器选择,输入vs2010编译器对应的序号
第三步:设置“complie.m”文件的opencv的路径 原文件路径为:include = ' -Ic:\OpenCV2.2\include\opencv\ -Ic:\OpenCV2.2\include\'; libpath = 'c:\OpenCV2.2\lib\';
我的路径为: include = ' -IE:\OpenCV2.2\include\opencv\ -IE:\OpenCV2.2\include\'; libpath = 'E:\OpenCV2.2\lib\';
注释掉:lk.cpp, fern.cpp, bb_overlap.cpp文件中的: #ifdef _CHAR16_T
#define CHAR16_T
#endif
第四步: 修改complie.m文件中的代码
解决办法是打开mex文件下的的lk.cpp文件,找到其中的186行,这里看仔细了,是这一行
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 );
将上述红色的0改为status,如下:
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 );
修改后运行,会出现complete语句,这样前面的工作就成功完成了
第五步:运行run_TLD.m,这时会出现一个跟踪摩托车的影像。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。