庖丁解牛TLD(二)——初始化工作(为算法的准备)
来源:互联网 发布:java防止js注入代码 编辑:程序博客网 时间:2024/05/02 02:43
我说的初始化,还不是算法的初始化工作,而是读入图像,响应键盘鼠标之类的工作。作者提供的代码中的工作包含了从摄像头读取和从文件中读取两种输入方案。这里介绍一下从文件输入的办法。因为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较差,真希望有高人指点啊,一起研究啊
0 0
- 庖丁解牛TLD(二)——初始化工作(为算法的准备)
- 庖丁解牛TLD(二)——初始化工作(为算法的准备) .
- 庖丁解牛TLD(二)——初始化工作(为算法的准备)
- 庖丁解牛TLD(二)——初始化工作(为算法的准备)
- 庖丁解牛TLD(三)——算法初始化
- 庖丁解牛TLD(三)——算法初始化 .
- 庖丁解牛TLD(三)——算法初始化 .
- 庖丁解牛TLD(三)——算法初始化
- 庖丁解牛TLD(三)——算法初始化
- 庖丁解牛TLD(一)——开篇
- 庖丁解牛TLD(一)——开篇 .
- 庖丁解牛TLD(一)——开篇
- 庖丁解牛TLD(一)——开篇
- 庖丁解牛TLD(四)——Tracking解析
- 庖丁解牛TLD(五)——井底之蛙啦~
- 庖丁解牛TLD(四)——Tracking解析 .
- 庖丁解牛TLD(五)——井底之蛙啦~ .
- 庖丁解牛TLD(四)——Tracking解析
- 编程是一种美德,是促使一个人不断向上发展的一种原动力
- Application、Session、Cookie、ViewState、Cache、Hidden的区别 (总结)
- 设计模式学习体会
- java中newInstance()和new()
- Oracle 删除用户以及表空间
- 庖丁解牛TLD(二)——初始化工作(为算法的准备)
- SqlServer 分页 ROW_NUMBER() OVER(Order by * DESC ) AS RowNumber
- Ubuntu 14.04 卸载搜狗输入法后无法进入图形界面问题解决办法
- 20150303 N1
- UVa 333 - Recognizing Good ISBNs
- Android打包Jar 之 二
- 上海书桃装饰设计有限公司
- CentOS 架设vsftpd文件传输服务器
- 庖丁解牛TLD(三)——算法初始化