zoukankan      html  css  js  c++  java
  • 运行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 }
  • 相关阅读:
    数学--数论--HDU 2136(素数筛选法)
    思维+模拟--POJ 1013 Counterfeit Dollar
    数学--数论--莫比乌斯函数
    事半功倍和事倍功半
    一道阿里面试题
    文本分类学习(三) 特征权重(TF/IDF)和特征提取
    汉字字典树
    文本分类学习(二)文本表示
    文本分类学习(一):开篇
    一道网易面试编程题
  • 原文地址:https://www.cnblogs.com/jsdtqk/p/3689080.html
Copyright © 2011-2022 走看看