运行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 }

 

 

 

 

 

 

 

posted @ 2014-04-25 17:52  rose_琨  阅读(595)  评论(0编辑  收藏  举报