TLD(matlab版)调试

1.下载源代码,matlab版。

2.mex -setup 指定编译器,我用的是vs2008+matlab2012a。

3.lk.cpp文件中的186行,这里看仔细了,是这一行:

      cvCalcOpticalFlowPyrLK( IMG[J], IMG[I], PYR[J], PYR[I], points[1], points[2], nPts, cvSize(win_size,win_size), Level, 0     , 0, cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,20,0.03), CV_LKFLOW_INITIAL_GUESSES | CV_LKFLOW_PYR_A_READY | CV_LKFLOW_PYR_B_READY );

  将上述红色的0改为status,如下:

 cvCalcOpticalFlowPyrLK( IMG[J], IMG[I], PYR[J], PYR[I], points[1], points[2], nPts, cvSize(win_size,win_size), Level, status     , 0, cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,20,0.03), CV_LKFLOW_INITIAL_GUESSES | CV_LKFLOW_PYR_A_READY | CV_LKFLOW_PYR_B_READY );

  这样修改之后,注意,需要重新运行compile.m,然后运行run_TLD.m即可

4.运行compile.m文件。在运行之前要修改m文件中的include和libpath路径,使其指向本机opencv安装的目录。注意以下几点:

   a.目录最后加 “\‘”; b.不要把opencv安装在有空格的目录下,比如\program files\;c.系统变量path中加入bin和include的目录;d.FSPECIAL函数改为小写;

5.程序默认是播放视频文件,_input文件夹下有个txt文件,是初始矩形框的。如果要改为摄像头,把run_TLD.m文件中

opt.source          = struct('camera',0,'input','_input/','bb0',[]); % camera/directory swith, directory_name, initial_bounding_box (if empty, it will be selected by the user)

’camera'后的0改为1即可。

6.运行摄像头目标跟踪,先运行initcamera.m文件,报错的话在调整下面的程序的注释二选一即可。

source.vid = videoinput('winvideo', 1,'RGB24_320x240');
%source.vid = videoinput('winvideo', 1,'YUY2_320x240');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhang11wu4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值