TLD(matlab+c混合编程)调试运行

两天调试TLD源码,终于通了。感觉有必要写下经验帮助其他人,不要再走弯路,顺利调通TLD。直奔主题吧!

大神Zdenek Kalal的TLD(MATLAB+c混合编程)源码下载地址: https://github.com/zk00006/OpenTLD;

首先,你的电脑需要安装MATLAB,OpenCV,Visual Studio。我电脑安装的32位的MATLAB2014a,OpenCV3.0,和Visual Studio2013。

个人感觉64位MATLAB的混合编程调试太麻烦,而且我也没有成功,索性装了32位的,然后开始了艰辛的调试历程。

Visual Studio2013是VS12,vs的版本要比MATLAB的低不然可能会出现MATLAB无法使用vs的编译。

安装完OpenCV3.0需要进行系统环境配置,右键单击计算机->属性->高级系统设置->环境变量->系统变量 Path:添加D:\opencv\build\x86\vc12\bin;

添加时用‘;’与已有的文件名隔开,其中'D:\'为你的OpenCV安装路径,记得改为自己的路径,我安装路径的是E:\opencv3\opencv\build\x86\vc12\bin。这一步有问题的话可以自己查百度。

配置完成以后进行编译,将脚本compile.m文件中的if ispc 后面的 include libpath 修改为自己OpenCV的路径。我的OpenCV安装在‘E:\opencv3’下,所以我的修改为:

include ='-Ie:\opencv3\opencv\build\include\ -Ie:\opencv3\opencv\build\include\opencv\ -Ie:\opencv3\opencv\build\include\opencv2\';

libpath ='E:\opencv3\opencv\build\x86\vc12\lib\';

然后点开mex文件夹,对于vs2010以上版本需要,将文件lk.cpp, fern.cpp,bb_overlap.cpp, 头文件中的

// #ifdef_CHAR16T

#define CHAR16_T

#endif

这三句话注释掉。运行compile.m,编译完成;

然后运行run_TLD.m,没有报错,那么恭喜你;

如果提示错误:matlab **. mexw32 不是有效32文件,

参考:https://github.com/zk00006/OpenTLD/issues/24;将E:\opencv3\opencv\build\x86\vc12\bin文件夹下的文件全部考到TLD文件夹\OpenTLD-master\下就OK啦!

其实很简单对不对,只是一开始啥都不知道,一直报错,浪费了大把时间,欲哭无泪啊。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值