关闭

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

标签: c语言matlabtld
287人阅读 评论(2) 收藏 举报

两天调试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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:293次
    • 积分:13
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章存档
    最新评论