庖丁解牛TLD(二)——初始化工作(为算法的准备)

转载 2015年07月10日 23:14:58

我说的初始化,还不是算法的初始化工作,而是读入图像,响应键盘鼠标之类的工作。作者提供的代码中的工作包含了从摄像头读取和从文件中读取两种输入方案。这里介绍一下从文件输入的办法。因为OpenCV从视频读取图像序列的办法有很好的demo,我这里就不介绍摄像头的办法了。TLD下载后有一个文件夹是_input,里面存放着一组图片组,图片文件的名字为00001.png、00002.png....。我读取图片组的关键代码如下,这段代码具有普遍意义,可以移植到以后想读入图片组的任意程序中:

stringstream fileNameStream;
string sourceImageFileName;
for(int nFrame=0; nFrame<NUM; nFrame++)
{
    nFrame++;
    fileNameStream << "_input\\" << setw(5) << setfill('0') << nFrameNum << ".png";
    sourceImageFileName = fileNameStream.str();
    fileNameStream.clear();
    fileNameStream.str("");

    // 读取图像
    g_src = imread(sourceImageFileName);
}


这就实现了图片的读入工作,再参考camshiftdemo的办法实现了鼠标和键盘的响应。鼠标的响应就是得到目标区域的范围,用鼠标选中boundingbox。文件读进来了,目标区域boundingbox也得到了,接下来就是需要对算法进行研究了。

先介绍几个我研究过的心得,bbox文件夹下面的代码主要都是对boundingbox的处理。tld文件夹下面的存放的是主干的算法,从run_TLD入手,感觉就是对起始帧进行初始化工作,然后逐帧读入图片序列,进行算法处理。还是先分析初始化工作,作者的tldInitSource函数实现的就是基本的初始化,给一些变量赋值,开辟矩阵大小,这个没什么好讲的。tldInitFirstFrame文件完成的工作就是选中boundingbox,这个功能我已经通过鼠标的响应得到了boundingbox,也可以略过不细分析。重点的初始化工作是在tldInit里实现的,这个函数也是我接下来研究的重点,本人Matlab较差,真希望有高人指点啊,一起研究啊


相关文章推荐

TLD算法流程说明

TLD(Tracking LearningDetector),包括tracking、modeling、detection,其中tracking工作时基于Lucas-Kanade光流法的。modelin...

庖丁解牛TLD(三)——算法初始化 .

转自:http://blog.csdn.net/yang_xian521/article/details/6957732 上一讲我提到对于算法的初始化工作主要是在tldInit这个函数里实现的。主要...

TLD学习篇之算法框架

首先,这里已经假设读者已经了解TLD(tracking,learning,detection)是什么,故不做背景介绍,若还不知道这是什么,请自行百度稍微了解,把TLD的源码也下载下来,大概浏览一遍再来...

庖丁解牛TLD(一)——开篇

最近在网上多次看到有关Zdenek Kalal的TLD的文章,说他做的工作如何的帅,看了一下TLD的视频,感觉确实做的很好,有人夸张的说他这个系统可以和Kniect媲美,我倒是两者的工作可比性不大,实...
  • mcumsj1
  • mcumsj1
  • 2015年07月10日 23:11
  • 548

庖丁解牛TLD(四)——Tracking解析

前几节都是根据作者的程序流程一步步介绍作者的工作,感觉只是对代码的一个注释,这次换一个思路,一部分一部分啃,作者的工作主要就是3部分么,tracking,learning,detection。 这次先...
  • mcumsj1
  • mcumsj1
  • 2015年07月10日 23:24
  • 325

庖丁解牛TLD(二)——初始化工作(为算法的准备)

我说的初始化,还不是算法的初始化工作,而是读入图像,响应键盘鼠标之类的工作。作者提供的代码中的工作包含了从摄像头读取和从文件中读取两种输入方案。这里介绍一下从文件输入的办法。因为OpenCV从视频读取...

庖丁解牛TLD(三)——算法初始化

上一讲我提到对于算法的初始化工作主要是在tldInit这个函数里实现的。主要分为如下几大步骤,1)初始化Detector。2)初始化Trajectory。3)训练Detector 1)初始化Dete...

庖丁解牛TLD(三)——算法初始化

上一讲我提到对于算法的初始化工作主要是在tldInit这个函数里实现的。主要分为如下几大步骤,1)初始化Detector。2)初始化Trajectory。3)训练Detector 1)初始化Dete...

庖丁解牛TLD(一)——开篇

最近在网上多次看到有关Zdenek Kalal的TLD的文章,说他做的工作如何的帅,看了一下TLD的视频,感觉确实做的很好,有人夸张的说他这个系统可以和Kniect媲美,我倒是两者的工作可比性不大,实...

庖丁解牛TLD(四)——Tracking解析

前几节都是根据作者的程序流程一步步介绍作者的工作,感觉只是对代码的一个注释,这次换一个思路,一部分一部分啃,作者的工作主要就是3部分么,tracking,learning,detection。 这次...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:庖丁解牛TLD(二)——初始化工作(为算法的准备)
举报原因:
原因补充:

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