TLD学习(2)-调试lk.cpp

All Right。

step1. 现在我们有OpenTLD-Master的代码放在:C:\Users\Administrator\Documents\MATLAB\OpenTLD-master\mex。

step2. 根据《在VS2013中调试mex文件》,我们需要重新修改TLD中的compile.m,将原来的mex改为mex -g。

if ispc
    disp('PC');
    include = ' -Id:\opencv\build\include\opencv\ -Id:\opencv\build\include\';
    libpath = 'd:\opencv\build\x64\vc12\lib\';
    files = dir([libpath '*.lib']);
    
    lib = [];
    for i = 1:length(files),
        lib = [lib ' ' libpath files(i).name];
    end
    
    eval(['mex lk.cpp -O -g' include lib]);
    mex -O -c -g tld.cpp
    mex -O -g fern.cpp tld.obj
    mex -O -g linkagemex.cpp
    mex -O -g bb_overlap.cpp
    mex -O -g warp.cpp
    mex -O -g distance.cpp
end

step3. 运行compile.m,显示编译成功。

step4.打开VS2013,我在这里重建了DLL项目,把lk.cpp等文件加入。设置包含目录、库目录,将工程改为x64,等等....(见《基于OpenCV的mex文件及其编译》)。

step5.Ctrl+Alt+P,添加matlab进程。回到Matlab,运行run_TLD.m。

但此时仍然是无法进入中断的,VS中的断点显示警告“不会进入断点,因为未加载符号”。我再这里退出调试。

step6.重新回到Matlab,在mex目录下,运行lk(0),能正确运行。重新回到step5。能正确设置断点。


可以对TLD的lk.cpp进行Debug了。


发现csdn同行对TLD学习的资源汇总:http://blog.csdn.net/windtalkersm/article/details/8018980,写的非常好,在这里感谢他。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值