运行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的配置,几乎一样,再次跑通显示程序。代码如下
#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的更多相关文章
- 使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)
从网上看过许多打jar包的例子,大多是将配置文件打进jar包的.经过本人一番研究,终于搞清楚了怎样将jar包的配置文件外置. 废话不说,直接上spring的pom.xml的配置文件. <proj ...
- 使用自定义tld标签简化jsp的繁琐操作
最近做一个树形结构的展示,请求目标页面后,后台只返回简单的List,虽然有想过在jsp页面内做一些操作简化,但是太繁琐了,其他的标签又不能满足需求,所以只能自己做一个.使用tld标签可以简化jsp代码 ...
- TLD目标跟踪算法
1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...
- nutch-2.1导入eclipse+mysql运行
初次接触nutch,记录下来 首先数据库 CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_c ...
- 比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍
转自:http://blog.csdn.net/carson2005/article/details/7647500 TLD(Tracking-Learning-Detection)是英国萨里大学的一 ...
- 自定义标签 tld
初学者可能在不借助IDE工具的情况下 编写自定义标签库 tld 程序可能遇到找不到class 的错误,下面讲解一下如何解决该问题 步骤一:新建一个自定义标签类 HelloWorldTag,该类放到s ...
- JavaEE自定义标签:标签类的创建、tld配置文件的创建(位置、如何创建)、Web-XML配置、JSP应用
1.标签 以类似于html标签的方式实现的java代码的封装. 第一:形成了开发标签的技术标准---自定义标签的技术标准. 第二:java标准标签库(sun之前自己开发的一系列的标签的集合)jstl, ...
- 【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 ...
- Video Target Tracking Based on Online Learning—TLD单目标跟踪算法详解
视频目标跟踪问题分析 视频跟踪技术的主要目的是从复杂多变的的背景环境中准确提取相关的目标特征,准确地识别出跟踪目标,并且对目标的位置和姿态等信息精确地定位,为后续目标物体行为分析提供足 ...
随机推荐
- sql分页代码
//三种sql分页语句 SELECT TOP 分页尺寸 * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM Blob ...
- 简短总结一下C#里跨线程更新UI(转)
摘自: http://my.oschina.net/sdqxcxh/blog/53707 跨线程更新UI是写多线程程序尤其是通信类的程序经常遇到的问题,这里面主要的问题是冲突,比如数据线程想要更新UI ...
- IE6及以上版本fixed问题解决方案,页面右下角固定页面,可以最大化、最小化、正规显示
在窗口固定位置显示内容使用fixed,但是 IE 6 不支持,后来我搜了很多方法,都没有作用,后来类比着一个网站的代码,使用absolute .z-index解决了问题. 页面div结构: <d ...
- 李洪强iOS经典面试题123
1.static 关键字的作用: (1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次, 因此其值在下次调用时仍维持上次的值; (2)在模块内的 s ...
- 粉笔网iPhone端使用的第三方开源库
粉笔网iPhone端使用的第三方开源库 前言 最近有朋友问我粉笔网 iPhone 端使用了哪些第三方的开源库.我在这儿整理了一下,分享给大家. ASIHttpRequest ASIHttpReques ...
- 类库,委托,is和as运算符,泛型集合
类库:其实就是一堆类文件,只不过用户看不到这些类的源代码,保密性好. 优点:保密性好缺点:如果这个方法不好用,使用者无法自己去更改它. 类文件是.cs 类库是.dll 新建项目为类库,在debu ...
- Linux_scp命令
一.简单概念 scp是有Security的文件copy , 基于ssh登录 二.使用 1. 发送(本地--->远程服务器) [liuwl@hadoop09-linux-02 hadoop-2. ...
- cat命令在文件中插入内容
eg: cat>> xxx <<EOFinsert 1insert 2 EOF
- Golden Gate 概念和机制
1. OGG有哪些进程 ü Manger : manger进程是goldengate的控制进程,分别运行在源端和目标端上,它主要的作用是启动.监控.重启goldengate的其他进程,报告错误及事件 ...
- 需要注意学习.net过程的要点
基础部分 C# 基础语法 OOP的概念,面向对象的理解 继承 封装 多态 ASP.NET MVC (Web Form 用的越来越少,如果你不熟悉,可以不看) JavaScript 基础语法 如何在HT ...