tag:blogger.com,1999:blog-3331161821825633451.post6008409125315808368..comments2022-06-13T20:12:16.408-07:00Comments on Resource Garage: TLDAnonymoushttp://www.blogger.com/profile/00527180428123375999noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-3331161821825633451.post-8356020406107813022013-02-24T20:54:01.113-08:002013-02-24T20:54:01.113-08:00TLD code on windows
配置好vs2008的opencv编译环境,添加函数库和头文件...TLD code on windows<br />配置好vs2008的opencv编译环境,添加函数库和头文件,新建一个win32 console空项目,然后直接把https://github.com/alantrrs/OpenTLD下载的OpenTLD源代码的include和src下面的文件复制到工程文件下,添加代码和头文件进工程,编译一下就okey。至于编译过程会遇到的错误修正总结如下:<br />1、TLD::bbPoints函数调用的ceil函数强制把参数类型转换为double。<br />2、vs2008不存在round函数,重新写一个<br />int round(float f)<br />{ <br />if ((int)f+0.5>f) <br />return (int)f; <br />else <br />return (int)f + 1; <br />}<br />3、TLD::clusterBB函数中,vs不支持这种动态数组分配。<br />float L[c-1]; //Level<br />int nodes[c-1][2];<br />int belongs[c];<br />改成指针和动态分配内存<br />float *L = new float [c-1]; //Level<br />int **nodes = new int *[c-1];<br />for(int i = 0; i < 2 ;i ++)<br />nodes[i] = new int [c-1];<br />int *belongs = new int [c];<br />记得在函数末释放分配的内存<br />delete [] L;<br />L = NULL;<br />for (int i = 0; i < 2; ++i)<br />{<br />delete [] nodes[i];<br />nodes[i] = NULL;<br />}<br />delete []nodes;<br />nodes = NULL;<br />delete [] belongs;<br />belongs = NULL;<br />4、调用floor函数的地方,把参数强制类型转换为double<br />编译运行是米有太大的问题,就想了解一下真实的算法过程,摆脱opencv的函数库,和加入多线程、directx、cpu增强指令集以及gpu的支持。以提高程序的执行效率。Anonymoushttps://www.blogger.com/profile/00527180428123375999noreply@blogger.com