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的配置,几乎一样,再次跑通显示程序。代码如下

 #include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv; void main()
{
IplImage *src;
src=cvLoadImage("C:/Users/qk/Documents/Visual Studio 2012/Projects/qk/qk/yongshi.jpg");
cvNamedWindow("");
cvShowImage("",src);
cvWaitKey();
cvReleaseImage(&src);
cvDestroyWindow(""); }

运行TLD的更多相关文章

  1. 使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)

    从网上看过许多打jar包的例子,大多是将配置文件打进jar包的.经过本人一番研究,终于搞清楚了怎样将jar包的配置文件外置. 废话不说,直接上spring的pom.xml的配置文件. <proj ...

  2. 使用自定义tld标签简化jsp的繁琐操作

    最近做一个树形结构的展示,请求目标页面后,后台只返回简单的List,虽然有想过在jsp页面内做一些操作简化,但是太繁琐了,其他的标签又不能满足需求,所以只能自己做一个.使用tld标签可以简化jsp代码 ...

  3. TLD目标跟踪算法

    1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...

  4. nutch-2.1导入eclipse+mysql运行

    初次接触nutch,记录下来 首先数据库 CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_c ...

  5. 比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍

    转自:http://blog.csdn.net/carson2005/article/details/7647500 TLD(Tracking-Learning-Detection)是英国萨里大学的一 ...

  6. 自定义标签 tld

    初学者可能在不借助IDE工具的情况下 编写自定义标签库 tld  程序可能遇到找不到class 的错误,下面讲解一下如何解决该问题 步骤一:新建一个自定义标签类 HelloWorldTag,该类放到s ...

  7. JavaEE自定义标签:标签类的创建、tld配置文件的创建(位置、如何创建)、Web-XML配置、JSP应用

    1.标签 以类似于html标签的方式实现的java代码的封装. 第一:形成了开发标签的技术标准---自定义标签的技术标准. 第二:java标准标签库(sun之前自己开发的一系列的标签的集合)jstl, ...

  8. 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】

    1.下载相关软件,并解压 版本号如下: (1)apache-nutch-2.3 (2) hadoop-1.2.1 (3)hbase-0.92.1 (4)solr-4.9.0 并解压至/opt/jedi ...

  9. Video Target Tracking Based on Online Learning—TLD单目标跟踪算法详解

    视频目标跟踪问题分析         视频跟踪技术的主要目的是从复杂多变的的背景环境中准确提取相关的目标特征,准确地识别出跟踪目标,并且对目标的位置和姿态等信息精确地定位,为后续目标物体行为分析提供足 ...

随机推荐

  1. Win7 系统下 Firefox hostadmin插件无法修改Host

    问题:  win 7系统,今天用杀毒软件杀了一下毒,firefox hostAdmin插件无法修改Host了,提示“ write hosts file failed check permissions ...

  2. MVVM deep dive

    You can get a different instance each time by passing a different key to the GetInstance method. How ...

  3. Func<T, TResult> Delegate

    public delegate TResult Func<in T, out TResult>( T arg ) http://msdn.microsoft.com/en-us/libra ...

  4. 最长公共子序列 LCS

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87125#problem/D 题目: Description In a few ...

  5. 改进iOS客户端的升级提醒功能

    改进iOS客户端的升级提醒功能 功能设计 先申明一下,我是码农,不是一个产品经理,但我觉得现有市面上的很多 App,设计的 "升级提示功能" 都不太友好.在此分享一下我的想法,欢迎 ...

  6. CSS的class、id、css文件名的常用命名规则

    CSS的class.id.css文件名的常用命名规则        (一)常用的CSS命名规则 头:header       内容:content/container       尾:footer   ...

  7. 收集的github的东西

    1.voghDev/PdfViewPager-Android widget that can render PDF documents stored on SD card, linked as ass ...

  8. MySql_设置编码

    1.查看mysql编码(默认latin1) show variables like 'collation_%'; +--------------------------+--------------- ...

  9. DataTable的一些用法

    手动给DataTable添加数据 DataTable tab = new DataTable(); tab.Columns.Add("id", typeof(int));//添加列 ...

  10. C遇到的问题

    1. stdout-------printf输出到stdout,并在终端打印 stderr--------perror错误输出到stderr,并在终端打印 2. usleep(1)//代表一微妙 sl ...