图文详解OpenTLD平台的搭建

图文详解OpenTLD平台的搭建

本文以图文的方式详解了OpenTLD平台的搭建。硬件平台:装有Windows 7/8/XP的电脑一台;软件平台:OpenTLD、OpenCV、Visual Studio 2010。

1、软件下载

OpenTLD:https://github.com/arthurv/OpenTLD/tree/master

OpenCV:http://opencv.org/downloads.html

下载后如下图:

对OpenCV解压:双击=》点击Extract:

再对OpenTLD解压,解压后得到下图:

2、OpenCV用户变量和系统变量的设置

计算机=》属性=》高级系统设置:

高级=》环境变量:

首先设置用户变量:

(注意:x86代表你的电脑是32位系统,vc10代表你的平台是VS2010版本。)

再设置系统变量:

(注意:x86代表你的电脑是32位系统,vc10代表你的平台是VS2010版本。)

3、Visual Studio 2010工程的建立

打开软件=》New Project:

然后按下图设置:

点击OK后点击Next:

最后按照下图选择,最后点击Finish:

4、在VS中设置OpenCV

这是因为我们使用的OpenTLD要调用OpenCV库,这三步很重要,不可省略。

第一步单击项目属性(Properties)=》VC++ Directiories=》Include Directiories:

(把OpenCV的include加进去,如下图的第3步所示)

第二步单击项目属性(Properties)=》VC++ Directiories=》Library Directiories:

(把OpenCV的lib加进去,如下图的第3步所示)

第三步单击项目属性(Properties)=》Linker=》Input=》Additional Dependencies:

(把OpenCV的lib加进去,如下图的第4步所示)

需要注意的是:第三步中加载的lib与第二步加载的lib不是同一个东西。第二步加载的lib是路径,第三步加载的是该路径下的内容,如下图所示:(此处需要特别注意的是,在Release时加载的是下图中划线的那些,即xxx.lib,若是Debug模式,则加载xxxd.lib)。

5、将OpenTLD的头文件和源代码复制到VS当前工作目录

OpenTLD的头文件:

OpenTLD的源代码:

然后把它们加载到当前工程中:

6、修改OpenTLD的头文件

将四个头文件中的#include<  >都修改为#include" ":

在TLD.h中我们会发现PatchGenerator会出错,如下图:

这是因为原作者没有添加定义PatchGenerator类的头文件,我们把该头文件加上即可,如下图:

7、添加round函数

添加round函数,是因为VS中没有自带这个函数,而OpenTLD用到了这个函数。

第一步:在TLD.h中加入下面的代码:

int round(float f);

如下图所示:

第二步将下面代码加入TLD.cpp中,代码如下:

int TLD::round(float f)
{
	if ((int)f+0.5>f)
		return (int)f;
	else
		return (int)f + 1;
}

如下图所示:

8、将VS工程下的四个头文件复制到VS的安装路径

完成前7步,编译后我们发现找不到头文件,如下图所示:

解决方法就是将修改后OpenTLD头文件复制到VS的安装路径下,如下图:

9、ceil错误和floor错误的修改

完成第8步后相信你的工程可以编译,不过出现很多warning和几处errors,下面依次解决这些问题。

编译之后出现警告和错误提示如下:

第一步,ceil错误的解决:错误如下图:

解决方法如下图:

第二步,floor错误的解决,错误如下图:

解决方法如下图:

10、动态数组分配错误的解决方法

在TLD::clusterBB函数中,vs不支持这种动态数组分配,所以出现如下错误:

解决方法如下图,注释掉源代码中的分配动态数组的方法,把下面代码加进去:

	float *L = new float [c-1]; //Level
	int **nodes = new int *[c-1];
	for(int i = 0; i < 2 ;i ++)
		nodes[i] = new int [c-1];
	int *belongs = new int [c];

最后不要忘记释放分配的动态内存,加入如下代码,加入地方是该函数最后,即return 1前面,如下图:

	delete [] L;
	L = NULL;
	for (int i = 0; i < 2; ++i)
	{
		delete [] nodes[i];
		nodes[i] = NULL;
	}
	delete []nodes;
	nodes = NULL;
	delete [] belongs;
	belongs = NULL;

最后,编译成功。大功告成。

11、DEMO演示

首先将OpenTLD下的datasets文件夹和parameters.yml复制到当前工程目录下,如下图:

将datasets中的视频复制出来,以david为例,此时,david测试视频和parameters.yml都在当前工程的工作目录下了。

接着修改主函数中的代码,也就是如何让代码读取david测试视频,方法如下图所示:

编译运行,结果如下图:

一切OK,亲~你的平台搭好了吗?

时间: 2024-10-05 04:19:29

图文详解OpenTLD平台的搭建的相关文章

图文详解如何搭建Windows的Android C++开发环境

原地址:http://www.apkbus.com/android-18595-1-1.html //=====================================================================//TITLE://    图文详解如何搭建Windows的Android C++开发环境(一)//AUTHOR://    norains//DATE://    Thursday  14-April-2011//Environment://    Cygw

大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单机的搭建,是因为作为个人学习的话,单机已足以,好吧,说实话是自己的电脑不行,使用虚拟机实在太卡了... 整个的集群搭建是在公司的测试服务搭建的,在搭建的时候遇到各种各样的坑,当然也收获颇多.在成功搭建大数据集群之后,零零散散的做了写笔记,然后重新将这些笔记整理了下来.于是就有了本篇博文. 其实我在搭

Python环境搭建详解(Window平台)

前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解释型语言:这意味着开发过程中没有没有了编译的环境,是交换式语言,是面向对象语言,是初学者的语言,其优点是:易学习,面向对象,易维护,可移植,可扩展,广泛的标准库.其缺点就是运行速度慢. 安装 那么如何安装Python呢? 提供安装官网:https://www.python.org/downloads

Qt on Android: Qt Quick 之 Hello World 图文详解

在上一篇文章,<Qt on Android:QML 语言基础>中,我们介绍了 QML 语言的语法,在最后我们遗留了一些问题没有展开,这篇呢,我们就正式开始撰写 Qt Quick 程序,而那些问题,随着本系列文章的展开也会一一被干掉. 在开始介绍 Qt Quick 应用的基本元素之前,我们先来创建一个 HelloQtQuickApp 项目,就是经典的 Hello World 了. 笔者的教程最终会面向 Qt Quick 与 C++ 混合编程,所以我们 HelloQtQuickApp 从零开始.

asp.net 三层架构图文详解

什么是三层架构? 先说说饭店中的三层结构 服务员:待客/提交菜单 厨 师:取材/炒菜/交菜 采购员:采购 三层结构分析 (1)表示层 为用户提供交互式操作界面. (2)业务逻辑层 负责关键业务的处理,负责与表示层和数据访问层的数据传递. (3)数据访问层 实现对数据的保存和读取操作. 三层结构各层间的依整关系 -----高层依赖低层 三层结构各层间的数据传递关系 ---高层请求低层.低层响应高层 三层结构搭建方法 1.搭建表示层(创建一个Windows应用程序) 2.搭建业务逻辑层(类库) 3.

Python安装、配置图文详解

原文地址:http://weixiaolu.iteye.com/blog/1617440 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(IDE) 1. 在Eclipse中安装PyDev插件 2. 配置Python Interpreters 四. 创建Python Project 五. 编写HelloWorld 六. 小结 一. Python简介: Python在Linux.wi

Python安装、配置图文详解(转载)

Python安装.配置图文详解 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(IDE) 1. 在Eclipse中安装PyDev插件 2. 配置Python Interpreters 四. 创建Python Project 五. 编写HelloWorld 六. 小结 一. Python简介: Python在Linux.windows.Mac os等操作系统下都有相应的版本,不管在

GitHub 使用教程图文详解(转)

[日期:2014-09-06] 来源:Linux社区  作者:freeloda [字体:大 中 小] 大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://github.com/,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 一.前言 在前面的文章中我们讲解了

GitHub 使用教程图文详解

大纲: 一.前言 二.GitHub简介 三.注册GitHub账号 四.配置GitHub 五.使用GitHub 六.参与GitHub中其它开源项目 七.总结 注,GitHub官网:https://github.com/,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 一.前言 在前面的文章中我们讲解了 Git 服务器的搭建.Git 本地仓库讲解.Git 远程仓库讲解.Git 分支管理.Git 标签管理,