Win7x64+VS2015Pro+Matlab2016b+OpenCV3.2配置运行TLD
来源:互联网 发布:怎么用matlab编程 编辑:程序博客网 时间:2024/06/05 03:00
先说一下,我电脑的程序配置:WIN7x64+VS2015pro+MATLAB2016b+OpenCV3.2,一开始,这个程序在我电脑上始终没有跑起来,我通过在网上找到各种资料进行拼凑,却仍然不能正常运行,以至于一度想要将软件配置成几年前的版本(因为网上有前辈用WIN7+VS2005+MATLAB2011a+OpenCV2.2运行起来了,我的部分资料也是借鉴他的)。
鉴于所有的配置都是几年前的老套路,而OPENCV也已经更新到3.2(今天刚看了下cv的官网,8月初更新到了3.3。。。。。。)。我决定自己总结一篇最新的配置方法。
跑TLD程序,首先应该运行compile.m程序,然后再运行run_TLD.m,在任何机器上,首先得保证matlab的mex命令设置正确,其可通过:
mex –setup
配置好所用VS的编译环境,相关教程不少,之前因为我已经配置过了,此处就省略此步骤。之后打开compile.m
源代码中有如下两行:
include = ' -Ic:\OpenCV2.2\include\opencv\ -Ic:\OpenCV2.2\include\';
libpath = 'c:\OpenCV2.2\lib\';
需要改为自己的opencv路径,我的电脑上opencv路径为:
当然这些只是针对windows pc改的,若换成其它系统环境,则在相应的地方更改。
注意,此处有一个问题:我有段时间一直编译不通过其实就是因为lib后面没加'\',网上的大神都没加。。。
少掉这个“\”会出现如下情况:
根据作者的说法:若用VS2010会有不同:
You will need some extension toolboxes for Matlab, see below.
1) Install OpenCV2.2: compile OpenCV, set system PATH variable to link to OpenCV DLLs
2) Setup mex compiler in Matlab: run: mex -setup, select Visual Studio 2010 compiler from the list
3) Compilation of mex files: check paths in 'compile.m' file, run 'compile.m'
3.1) If you are using Matlab 2011a, in TLD source, comment out the following lines in lk.cpp, fern.cpp, and bb_overlap.cpp (Otherwise, you will get an error about int being undefined which is a no-no in 2010):
#ifdef _CHAR16_T
#define CHAR16_T
#endif
4) run 'run_TLD.m', TLD should track a motorbike
即如红色部分所示,你需要把
lk.cpp, fern.cpp, and bb_overlap.cpp 这几个文件中的这几行代码注释掉。
#ifdef _CHAR16_T
#define CHAR16_T
#endif
但是我在VS2015pro上没有注释掉这几行。结果并没有什么影响,最后还是可以运行的。
按照网上的步骤进行修改后,我又遇到了一个比较恶心的问题,在运行compile.m时,提示我说:
what??min和max不是在Cpp中有定义的吗?之后看网上的前辈说将#include <stdafx.h>加入头文件可以解决此问题,于是加入后出现:
好吧,彻底被打败了。(我一直在想为什么matlab调用的是VS进行编译竟然还找不到VS的头文件库。有知道的大神告诉我一下),既然调用头文件不能用的话,那就自己写一个定义吧:
之后再运行compile.m,无报错.
- Win7x64+VS2015Pro+Matlab2016b+OpenCV3.2配置运行TLD
- LINUX-Opencv3.2SSDdemo&&TensorFlowdemo运行配置
- TLD算法,opencv3,vs2015
- Ubuntu 16.04的caffe环境配置:cuda 8.0+cudnn 8.0+opencv3.1.0 + python2.7 + matlab2016b + blas(OpenBlas)
- MATLAB2016b 中运行color_tracker出错
- tld标签配置---tld
- CMake + VS2013 Win7x64下编译opencv3.0
- Matlab2016b
- TLD+OpenCV3+VS2013+win8.1
- mysql 5.6 win7X64 配置
- OpenCV3.2+VS2015配置
- vs2015配置opencv3.2
- VS2015配置OpenCV3.2
- Ubuntu16.04+CUDA-8.0+opencv3.1+matlab2016b+mkl+caffe
- TLD 的matlab版本的环境配置和运行
- TLD matlab c++混编代码的运行配置方法
- VS2010+MATLAB2010b运行TLD
- 让TLD 运行起来
- 86D(莫队算法)
- sublime text中<script type="text/ecmascript-6">如何代码高亮并支持语法?
- java注解试用及通过反射读取值
- JS常用函数使用指南
- 多源最短路径-Floyd-Warshall—C
- Win7x64+VS2015Pro+Matlab2016b+OpenCV3.2配置运行TLD
- UISegementControl
- Dagger2
- 孙子问题-中国剩余定理
- EventBus3.0最容易理解的源码解析
- 拥有确认和取消两个按钮的提示框
- 开发者必读的十大经典书籍
- LINUX常常忽略的一些命令
- MySQL server version for the right syntax to use near 'type = InnoDB' at line 25