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啦!

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


阅读更多
文章标签: c语言 matlab tld
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭