庖丁解牛TLD(二)——初始化工作(为算法的准备)
来源:互联网 发布:淘宝动漫周边 编辑:程序博客网 时间:2024/05/22 12:25
我说的初始化,还不是算法的初始化工作,而是读入图像,响应键盘鼠标之类的工作。作者提供的代码中的工作包含了从摄像头读取和从文件中读取两种输入方案。这里介绍一下从文件输入的办法。因为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(二)——初始化工作(为算法的准备) .
- 庖丁解牛TLD(二)——初始化工作(为算法的准备)
- 庖丁解牛TLD(二)——初始化工作(为算法的准备)
- 庖丁解牛TLD(三)——算法初始化
- 庖丁解牛TLD(三)——算法初始化 .
- 庖丁解牛TLD(三)——算法初始化 .
- 庖丁解牛TLD(三)——算法初始化
- 庖丁解牛TLD(三)——算法初始化
- 庖丁解牛TLD(一)——开篇
- 庖丁解牛TLD(一)——开篇 .
- 庖丁解牛TLD(一)——开篇
- 庖丁解牛TLD(一)——开篇
- 庖丁解牛TLD(四)——Tracking解析
- 庖丁解牛TLD(五)——井底之蛙啦~
- 庖丁解牛TLD(四)——Tracking解析 .
- 庖丁解牛TLD(五)——井底之蛙啦~ .
- 庖丁解牛TLD(四)——Tracking解析
- wxWidgets树形控件的扩展
- Droidreader编译
- GlusterFS集群文件系统
- 为pcm数据添加wav头
- js/jquery学习笔记(附百度统计初探??)
- 庖丁解牛TLD(二)——初始化工作(为算法的准备)
- 邮局选址问题 (第七题)
- Tip案例——else...if....
- mschart scrollbar 不能拖动
- android service学习列表
- 嵌套循环编写,信息树遍历!js编写
- 逻辑地址、线性地址(虚拟地址)、物理地址(有效地址、总线地址)
- 生活点滴记录-- 两点一线
- S3C2410下WinCE6.0的启动过程详解