OpenTLD配置VS2010+OpenCV2.4,无须CMake
来源:互联网 发布:龙虎榜数据分析软件2.3 编辑:程序博客网 时间:2024/05/01 20:32
有很多大牛已经写过OpenTLD在VS中的配置,但是有些细节让我等小弱不甚明白,所以写这篇文章。
OpenTLD在VS2010和OpenCV2.4中的配置,OpenCV2.4是exe版本的,直接解压得到,大小约为2.29G,已经测试过,该方法也可以在OpenCV2.2运行;VS2010安装了SP1,单是在没有SP1版本的情况下依旧可以运行。OpenTLD是AlanTorresC++实现的OpenTLD zip包。
1、下载软件
下载OpenCV-2.4.0,双击解压到C:\OpenCV2.4。
下载VS2010,安装。
2、配置OpenCV环境变量
计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加
C:\OpenCV2.4\build\x86\vc10\binC:\OpenCV2.4\build\common\tbb\ia32\vc10
3、配置工程的opencv依赖(每次新建工程都要重新配置,要执行此步骤请先跳到第4步建立工程)
1)、项目(菜单项)->…属性->VC++目录:需要配置“包含目录”和“库目录”两项。
2)、配置“包含目录”项:添加以下四行,最后一行是tld中自带的include,也要加进去。
C:\OpenCV2.4\build\includeC:\OpenCV2.4\build\include\opencvC:\OpenCV2.4\build\include\opencv2E:\leProjects\tld\tld\include
3)、配置“库目录”项:添加行
C:\OpenCV2.4\build\x86\vc10\lib
4)、配置连接器:项目(菜单项)->…属性->连接器->输入->附加依赖项
针对debug配置添加以下库:
opencv_calib3d240d.libopencv_contrib240d.libopencv_core240d.libopencv_features2d240d.libopencv_flann240d.libopencv_gpu240d.libopencv_highgui240d.libopencv_imgproc240d.libopencv_legacy240d.libopencv_ml240d.libopencv_objdetect240d.libopencv_ts240d.libopencv_video240d.lib
如果是release配置则添加:
opencv_calib3d240.libopencv_contrib240.libopencv_core240.libopencv_features2d240.libopencv_flann240.libopencv_gpu240.libopencv_highgui240.libopencv_imgproc240.libopencv_legacy240.libopencv_ml240.libopencv_objdetect240.libopencv_ts240.libopencv_video240.lib
4、用VS2010新建控制台工程测试:
OpenTLD在VS2010编译运行包括如下步骤:
- 新建空工程(我是vs2010),取名TLD,并将解压缩下include的文件导入到TLD头head file中;并将解压缩下src的文件导入到TLD头sorcefile中。
- round错误;解决办法:改成cvRound;
- 编译成功后,运行,摄像头一直亮着,将run_tld.cpp中的 capture.open(0)注释掉;
- 看了之后,明白了原来运行需要传递参数。见下面cmd命令:
-p parameters.yml -s datasets\01_david\david.mpg -b datasets\01_david\init.txt –tl
- TLD::bbPoints函数调用的ceil和floor函数强制把参数类型转换为double。
- TLD::clusterBB函数中,vs不支持这种动态数组分配。
float L[c-1]; //Levelint nodes[c-1][2];int belongs[c];
- 改成指针和动态分配内存
float *L = new float [c-1]; //Levelint **nodes = new int *[c-1];for(int i = 0; i < 2 ;i ++)nodes[i] = new int [c-1];int *belongs = new int [c];
- 记得在函数末释放分配的内存,有两个return的地方,这两个地方之前需要加上这一段。
delete [] L;L = NULL;for (int i = 0; i < 2; ++i){delete [] nodes[i];nodes[i] = NULL;}delete []nodes;nodes = NULL;delete [] belongs;belongs = NULL;
注意:第一个视频运行起来貌似有问题,可以改换其他组的视频。
可以做的事情:摆脱opencv的函数库,和加入多线程、directx、cpu增强指令集以及gpu的支持。以提高程序的执行效率。
- OpenTLD配置VS2010+OpenCV2.4,无须CMake
- VS2010+Opencv2.4.9+OpenTLD
- cmake 编译 vs2010+opencv2.4.11 配置错误
- VS2010+opencv2.4.10+cmake
- windows7 VS2010 OpenCV2.2.0 TBB CMake 2.8.4编译配置成功
- windows7 VS2010 OpenCV2.2.0 TBB CMake 2.8.4编译配置成功
- OpenCv2.4.5+Cmake 2.8.10+VS2010配置方法(不用再配置dll、lib的方法)
- OpenCv2.4在vs2010下配置过程
- 【opencv】VS2010+CMake重编译opencv2.4.10
- 【opencv】VS2010+CMake重编译opencv2.4.10
- 【opencv】VS2010+CMake重编译opencv2.4.10
- vs2010配置opencv2.2
- VS2010 + OpenCV2.3配置
- vs2010 配置 opencv2.3.1
- VS2010 + OpenCV2.3配置
- VS2010配置OpenCV2.4.4
- OpenCV2.4.5+VS2010配置
- opencv2.2 + vs2010配置
- Android开发(13)-- 互联网访问图片,在android客户端显示
- 题目1343:城际公路网 (Floyd)
- 一种基于NTLDR的BOOTKIT──原理及实现
- 自定义PROXOOL监听器整合SSH框架
- Android开发(14)-- 多线程中实现利用自定义控件绘制小球并完成小球自动下落的功能
- OpenTLD配置VS2010+OpenCV2.4,无须CMake
- hdu 4565 so easy 线性递推+矩阵乘法+快速幂 2013湖南区域邀请赛
- JAVA工程连接读取Access数据库UTF8编码乱码问题
- 使用Bootkit绕过Windows 登录密码
- 比较并说明下述几种I/O控制方式的优缺点及其应用场合。
- 黑马程序员—java基础之网络编程
- 第十次实验任务
- 逆向一个直接IO硬盘的驱动
- poj 1177picture测试数据结果