终于代码可以在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结果附图如下:
识别汽车:
识别人:
识别自行车: