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

原创 2016年08月31日 10:36:11

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

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


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

MATLAB 与C混合编程:通过mex提高运行速度

把耗时的函数(尤其是包含大量循环)用c语言实现,并编译成mex函数可以加快执行速度。 Matlab本身是不带c语言的编译器的,所以要求你的电脑上已经安装有VC6.0或Visual Studio或其他编...

matalb7与VC2008混合编程DLL方法(四)脱离matlab和VC环境的运行和程序发布

本文首先介绍matlab7与VC2008混合编程的VC程序在脱离(即未安装)matlab和VC环境的计算机上运行时可能出现的错误及解决办法,然后介绍混合编程的VC程序做成安装包的方法。   1. ...

C/C++与Matlab混合编程初探

================================================================== % 欢迎转载,尊重原创,所以转载请注明出处。 % ht...

C/C++与Matlab混合编程

将matlab下的项目转移到C++下,配置opencv图像库,C++通过matab引擎调用matlab绘图

Linux下C和matlab混合编程学习(1)

1.编译m文件为可执行文件 mex -setup设置好了c编译器之后。 写个简单函数test.m function test x=0:0.01:2*pi; y=sin(x); plot(x...

Matlab与C/C++混合编程调用OpenCV

原文来自:http://blog.csdn.net/raodotcong/article/details/8785358 好久没写博客了,今天一个师兄问到了一个关于在Matlab与C/C++混合编程...

Matlab与C/C++混合编程调用OpenCV

好久没写博客了,今天一个师兄问到了一个关于在Matlab与C/C++混合编程时,使用OpenCV库的编译问题,所以借此机会总结成文字分享一下过程。       在使用Matlab编译包含Open...

Matlab与C/C++混合编程(mex文件)

Matlab是一种矩阵语言,是为vector和matrix操作设计的,这两种类型的运算速度非常快,但是当涉及到大量的循环处理时,Matlab的速度就有点慢了。因此,Matlab提供了MEX脚本来使用C...
  • Linoi
  • Linoi
  • 2014-06-01 10:02
  • 1387

matlab和C/C++混合编程--Mex (六)参数传递

最近的项目需要matlab和C的混合编程,经过一番努力终于完成了项目要解决的问题。现在就将Mex的一些经验总结一下,当然只是刚刚开始,以后随着学习的深入继续添加。首先讲讲写Mex的一些常规规定,然后我...

<zz>matlab程序与C/C++代码混合编程

MEX文件使得调用C函数和调用Matlab的内置函数一样方便。MEX文件是由原C代码加上MEX文件专用的接口函数后编译而成的。可以这样理解,MEX文件实现了一种接口,它把在Matlab中调用函数时输入...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)