您的位置:首页 > 编程语言 > MATLAB

How to compile TLD with Win7-64bit + matlab2013b-64bit + VS2012 + OpenCV3.0

2015-09-03 22:17 447 查看
首先声明一点,VS2012不分32bit版本还是64bit版本,其既支持32bit的编译也支持64bit的编译



TLD原作者貌似采用了OpenCV2.2和VS2008版本进行编译,这在我们目前看起来有点老,尤其是目前我都使用了OpenCV3.0了,OpenCV3.0至少看起来有个明显的好处,生成的库少了,貌似对CUDA进行了更好的支持。

首先需要有相互配合的VS和matlab,我选择了matlab2013b-64bit和VS2012(后来我发现matlab2013b的mcc由于可能没有完美破解用不了,故改用了matlab2013a),因为OpenCV3.0默认不带VS2010的编译好的库,所以选用了VS2012,当然你也可以用VS2010自己编译出来。



Step1:在matlab中输入mex -setup,选择编译器即可。

然后将主目录打开到TLD,修改文件compile.m:

include = ' -IF:\software\opencv\build\include\opencv\ -IF:\software\opencv\build\include\opencv2\ -IF:\software\opencv\build\include';

libpath = 'F:\software\opencv\build\x64\vc11\lib\';

这个要根据自己的OpenCV3.0安装目录进行修改。



Step2:接着要修改lk.cpp, fern.cpp, and bb_overlap.cpp:将其中的

#ifdef _CHAR16_T

#define CHAR16_T

#endif

这三行comment掉。

然后运行TLD的compile,即可编译出。



Step3:

这个时候在运行之前记得把OpenCV3.0的dll:opencv_ffmpeg300_64.dll,opencv_world300.dll,opencv_world300d.dll拷贝到OpenTLD-master\mex目录下,然后输入run_TLD就可以看到跟踪结果了。这里当然也可以设置OpenCV的环境变量PATH,但是我一直对这种方法是嗤之以鼻的,我希望保持工程的独立型,这样在将工程拷贝给别人的时候可以不用考虑对方的OpenCV环境。








参考:

https://github.com/zk00006/OpenTLD/wiki/Installation

http://m.blog.csdn.net/blog/zhuzhudeailnn_11109/8853585
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: