在win7 上运行DPM源码--代码修改方法

终于代码可以在win7上运行了!!!


看了readme就知道,首先要mex源码中的c文件,理论上运行compile.m即可,但是搬到win7上就会出现各种问题。


在网上搜了各种方法,加上自己又遇到的问题,整理之后,将所有遇到的问题汇总如下:


1. 在 dt.cc 中加入 #define int32_t int


2. 在resize.cc 中,

添加:

#define bzero(a,b) memset(a,0,b)
int round(float a)
{
float tmp = a-(int)a;
if(tmp >= 0.5)
return (int)a+1;
else
return (int)a;
}  

修改:

将alphainfo ofs[len]; 改为:alphainfo *ofs = new alphainfo[len];


3. 在feature.cc 中添加与resize.cc相同的代码:

#define bzero(a,b) memset(a,0,b)
int round(float a)
{
float tmp = a-(int)a;
if(tmp >= 0.5)
return (int)a+1;
else
return (int)a;
} 

4. 将 compile中的" mex -O fconvblas.cc -lmwblas -o fconv "注释掉,同时加入“ mex -O fconv.cc ”


5.将 fconv.cc 中的void *process 中的*号去掉。


改掉以上五点后,运行compile 即可通过了~


这时可以运行demo看看结果。


demo结果附图如下:


识别汽车:






















识别人:



识别自行车:


猜你喜欢

转载自blog.csdn.net/catherine627/article/details/48317749