Windows下编译运行DPM(Discriminatively trained deformable part models)
2017-03-20 10:11
106 查看
DPM:https://people.eecs.berkeley.edu/~rbg/latent/index.html 我下载的是voc-release5版本,建议不要用4或者3的DPM模型,如果应用Opencv2.4.x的检测代码,速度慢的惊奇,而且opencv2.4.x也不能应用DPM5的模型。Opencv3里面应用的是DPM5的模型voc-release5原版并不支持在Windows系统中编译运行,但只需进行以下几项代码修改即可完美解决。
1. 修改features目录下的features.cc文件:在所有#include下面添加最后一行代码(因为Windows系统上缺少这样的定义);
修改features目录下的resize.cc文件:同样添加上面一行代码
定位于第41行: alphainfo ofs[len]; 修改为
并在第85行左右,添加代码:
3. 修改fv_cache目录下的fv_compile.m文件:将第13~15行代码注释掉(即允许在Windows系统上编译);
4. 修改gdetect目录下的bounded_dt.cc文件:在所有#include下面添加下面两行代码(同样是因为Windows系统上缺少这样的定义);
5. 修改gdetect目录下的dt.cc文件:在所有#include下面添加下面一行代码(同样是因为Windows系统上缺少这样的定义);
6. 修改star-cascade目录下的cascade.cc文件:在所有#include下面添加下面一行代码(同样是因为Windows系统上缺少这样的定义);
7. 修改star-cascade目录下的cascade_compile.m文件:将第13~15行代码注释掉(即允许在Windows系统上编译);
8. 修改star-cascade目录下的timer.h文件:删掉第6行代码#include
9. 修改compile.m文件:将第13~15行代码注释掉(即允许在Windows系统上编译),再注释掉第64行并取消注释第68行(即选择编译fconv_var_dim.cc而不是fconvsse.cc),再注释掉第72行并取消注释第74行(即选择编译fconv_var_dim.cc而不是fconv_var_dim_MT.cc),再将所有的-o改为-output;
按上述步骤修改完之后,在Matlab中运行demo.m即可
1. 修改features目录下的features.cc文件:在所有#include下面添加最后一行代码(因为Windows系统上缺少这样的定义);
#include <math.h> #include "mex.h" #define bzero(a, b) memset(a, 0, b) //ADD KK
修改features目录下的resize.cc文件:同样添加上面一行代码
#include <string.h> #include "mex.h" #define bzero(a, b) memset(a, 0, b) //ADD KK
定位于第41行: alphainfo ofs[len]; 修改为
alphainfo *ofs = new alphainfo[len];
并在第85行左右,添加代码:
alphacopy(s, d, ofs, k); } } free(ofs); //add kk }
3. 修改fv_cache目录下的fv_compile.m文件:将第13~15行代码注释掉(即允许在Windows系统上编译);
4. 修改gdetect目录下的bounded_dt.cc文件:在所有#include下面添加下面两行代码(同样是因为Windows系统上缺少这样的定义);
#define int32_t int #define INFINITY 1e8
5. 修改gdetect目录下的dt.cc文件:在所有#include下面添加下面一行代码(同样是因为Windows系统上缺少这样的定义);
#define int32_t int
6. 修改star-cascade目录下的cascade.cc文件:在所有#include下面添加下面一行代码(同样是因为Windows系统上缺少这样的定义);
#define INFINITY 1e8
7. 修改star-cascade目录下的cascade_compile.m文件:将第13~15行代码注释掉(即允许在Windows系统上编译);
8. 修改star-cascade目录下的timer.h文件:删掉第6行代码#include
#include <time.h> #include <windows.h> int gettimeofday(struct timeval *tp, void *tzp) { time_t clock; struct tm tm; SYSTEMTIME wtm; GetLocalTime(&wtm); tm.tm_year = wtm.wYear - 1900; tm.tm_mon = wtm.wMonth - 1; tm.tm_mday = wtm.wDay; tm.tm_hour = wtm.wHour; tm.tm_min = wtm.wMinute; tm.tm_sec = wtm.wSecond; tm. tm_isdst = -1; clock = mktime(&tm); tp->tv_sec = clock; tp->tv_usec = wtm.wMilliseconds * 1000; return (0); }
9. 修改compile.m文件:将第13~15行代码注释掉(即允许在Windows系统上编译),再注释掉第64行并取消注释第68行(即选择编译fconv_var_dim.cc而不是fconvsse.cc),再注释掉第72行并取消注释第74行(即选择编译fconv_var_dim.cc而不是fconv_var_dim_MT.cc),再将所有的-o改为-output;
按上述步骤修改完之后,在Matlab中运行demo.m即可
相关文章推荐
- Windows下运行Discriminatively Trained Deformable Part Models代码 Version 4
- 在windows下运行Felzenszwalb的Discriminatively Trained Deformable Part Models matlab代码
- 在windows下运行Felzenszwalb的Discriminatively Trained Deformable Part Models matlab代码
- 在windows下运行Felzenszwalb的Discriminatively Trained Deformable Part Models matlab代码
- 在windows下运行Felzenszwalb的Discriminatively Trained Deformable Part Models matlab代码
- 在windows下运行Felzenszwalb的Discriminatively Trained Deformable Part Models matlab代码
- 在windows下运行Felzenszwalb的Discriminatively Trained Deformable Part Models matlab代码
- Discriminatively Trained Deformable Part Models + Windows(一)
- 在Windows下运行Felzenszwalb的Deformable Part Models(voc-release4.01)目标检测matlab源码
- 在Windows下运行Felzenszwalb的Deformable Part Models(voc-release4.01)目标检测matlab源码
- Discriminatively Trained Deformable Part Models + Windows(二)
- Discriminatively Trained Deformable Part Models 在window下运行
- 在Windows下运行Felzenszwalb的Deformable Part Models(voc-release4.01)目标检测matlab源码
- 如何在window下运行Discriminatively Trained Deformable Part Models代码 (转)
- win7下运行discriminative trained deformable part models
- (1) 在window下运行DPM(deformable part models) -(检测demo部分)
- Discriminatively Trained Deformable Part Models 在window下运行
- 如何在window下运行Discriminatively Trained Deformable Part Models代码 (转)
- 在windows下运行Felzenszwalb的Deformable Part Model(DPM)源码voc-release3.1来训练自己的模型
- 在Windows下运行Felzenszwalb的star-cascade DPM(Deformable Part Models)目标检测Matlab源码