当前位置: 首页 > news >正文

Long-term Correlation Tracking LCT 目标跟踪算法源码运行

资源

  • LCT-tracker项目地址
  • VLFeat官网
  • OpenCV下载地址
  • OTB50数据集百度网盘资源

参考博客

  1. 一步一步教你跑lct-tracker(Win10+Matlab 2016b+Visual Studio 2015)
  2. LCT代码跑起来先文章思路总结

正文

1. 环境配置

我的环境:Win11、Visual Studio 2019、matlab 2021b、OpenCV 3.3.1。
系统版本没太大影响,10或者11都可以,Visual Studio和Matlab之间的版本要能够兼容,先搜索,选择能够匹配的版本

Visual Studio主要是为了能够编译mex文件,如果只是想跑通LCT的项目代码,为了图省事,也可以直接下载matlab官方自己做的MinGW -w64 编译器,下载完然后直接点安装就行,这个需要注册一个matlab账号,账号的注册也很容易。

对于OpenCV的安装,从OpenCV下载地址下载适合的版本即可。
注意!OpenCV下载好之后,直接Extract到选定的文件夹记住路径即可,不用配置到环境变量当中!这是因为compile.m文件中的第8和9行指定了项目运行时OpenCV的路径,所以我们只需在那里进行修改,将路径设置为你存储OpenCV的路径即可!

2、项目配置

首先,直接从LCT-tracker项目地址下载lct-tracker的项目压缩包解压即可。
其次,从VLFeat官网下载vlfeat,如图所示,我选择的是vlfeat 0.9.21,下载完直接解压缩就行。
在这里插入图片描述
如果无法解压,就用管理员模式打开压缩软件便能成功解压。
我是选择将vlfeat解压到了D盘,然后将其文件及子文件路径添加到了matlab的默认路径中。相当于直接安装了这个工具包。
在这里插入图片描述
之后,需要对LCT-tracker中部分没有完成编译的c++文件进行mex编译
首先,默认将项目文件夹lct-tracker-master的路径添加到matlab路径中,然后打开lct-tracker-master\utility\compile.m文件,修改compile.m中的第8行和第9行,如图所示:
在这里插入图片描述
然后千万要记得再将OpenCV目录下的 \build\x64\vc14\bin文件夹中的三个dll文件拷贝到utility文件夹中,如下图所示,不然会报错无法加载一些文件。
在这里插入图片描述
将当前目录切换到lct-tracker-master\utility\,运行compile.m,启动编译。
在这里插入图片描述
到这里就成功完成了对LCT-tracker的项目配置啦。

3、代码运行

代码配置好了,还缺少最关键的数据集。作者给了个download_videos.m来下载数据,但是老是提示因为网络原因下载失败。
所以直接从OTB50数据集百度网盘资源下载我存好的OTB50数据即可。
下载完之后,解压,在lct-tracker-master\创建一个dataset文件夹,然后将数据集中的所有视频放到该文件夹下,如图所示:
在这里插入图片描述
打开run_tracker.m,其第19行决定了算法运行的数据集根路径,因此将其修改为:

%path to the videos (you'll be able to choose one with the GUI).
base_path = 'dataset/';

然后,运行run_tracker.m,就可以执行跟踪啦,当不带参数时,代码会显示数据集根文件夹中的所有数据,如图所示:
在这里插入图片描述

相关文章:

  • 如何查看resnet网络的中间输出特征和卷积核的参数
  • 工厂模式~
  • 怎么培养孩子的学习习惯?
  • 【MybatisPlus】BaseMapper详解,举例说明
  • 探索React中的类组件和函数组件
  • 学AI,3种人,3种学法
  • QT 自定义信号
  • YoloV7改进策略:卷积改进|MogaNet——高效的多阶门控聚合网络
  • Claude 3 Sonnet 模型现已在亚马逊云科技的 Amazon Bedrock 正式可用!
  • GPT实战系列-LangChain如何构建基通义千问的多工具链
  • 数据库--SQL语言-1
  • 深入了解二叉搜索树:原理、实现与应用
  • C语言-写一个简单的Web服务器(一)
  • uniapp+node.js前后端做帖子模块:发布帖子评论(社区管理平台的小程序)
  • 链表中的经典问题——反转链表
  • ----------
  • 【技术性】Search知识
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • create-react-app项目添加less配置
  • mongodb--安装和初步使用教程
  • MySQL-事务管理(基础)
  • Redis在Web项目中的应用与实践
  • vue.js框架原理浅析
  • 警报:线上事故之CountDownLatch的威力
  • 如何优雅地使用 Sublime Text
  • 最近的计划
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​用户画像从0到100的构建思路
  • #pragma预处理命令
  • #大学#套接字
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (1)虚拟机的安装与使用,linux系统安装
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (原)本想说脏话,奈何已放下
  • .NET Core中的去虚
  • .net mvc 获取url中controller和action
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET中的Exception处理(C#)
  • /3GB和/USERVA开关
  • /proc/vmstat 详解
  • @Async注解的坑,小心
  • @RunWith注解作用
  • [2023年]-hadoop面试真题(一)
  • [android]-如何在向服务器发送request时附加已保存的cookie数据
  • [C#C++]类CLASS
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [C++]指针与结构体
  • [C++进阶篇]STL中vector的使用
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [error] 17755#0: *58522 readv() failed (104: Connection reset by peer) while reading upstream
  • [Java] 模拟Jdk 以及 CGLib 代理原理
  • [javaSE] 数据结构(二叉查找树-插入节点)