我正在尝试使用Berkeley matlab系统来检测和定位图像中的对象。 该系统可在此处找到 - http://www.cs.berkeley.edu/~rbg/latent/
我的系统是iMac,Matlab 2014a和XCode 5.1.1。
我正在尝试运行demo.m文件,这是我收到的输出:
编译代码......使用'Xcode Clang ++'构建。警告:也许你 需要先调用fv_cache('unlock')吗?
在50的fv_compile中编译48在使用'Xcode Clang ++'的5 Building的演示中。 MEX成功完成。使用'Xcode构建 锵++”。 MEX成功完成。使用'Xcode Clang ++'构建。 /Users/intern/Documents/MATLAB/voc-release5/features/features.cc:28:21: 警告:未使用的函数'max'[-Wunused-function]静态内联浮点数 max(float x,float y){return(x< = y?y:x); } 生成^ 1警告。
MEX成功完成。使用'Xcode Clang ++'构建。 MEX 顺利完成。使用'Xcode Clang ++'构建。 MEX完成了 成功。使用'Xcode Clang ++'构建。 MEX完成了 成功。使用'Xcode Clang ++'构建。 MEX完成了 成功。使用mex未知MEX参数'-o'时出错。
编译错误(第64行)eval([mexcmd'gdetect / fconvsse.cc -o fconv']);
demo(第5行)编译时出错;
任何帮助表示赞赏, 谢谢, Oz Radiano。
答案 0 :(得分:1)
我必须承认最终我使用了Matlab computer vision toolbox,它使用Viola-Jones Haar功能来检测面部(they claim,他们有其他经过训练的探测器,如果这还不够,你可以看看您)。这个工具箱可以满足我的需求,因此我没有解决原来的问题。
无论如何,在我继续前进之前,我在进行这项检测工作方面取得了一些进展,现在是:
我为matlab编译了一个新的Compiler,它将支持OpenMP:Wikipedia将OpenMP定义如下:
OpenMP是一种支持多平台共享内存的API 在大多数处理器上使用C,C ++和Fortran进行多处理编程 架构和操作系统,包括Solaris,AIX,HP-UX, Linux,Mac OS X和Windows平台
训练代码调用多个C代码文件以提高性能。问题是matlab常规编译器(对于Matlab 2014a)does not support OpenMP,因此需要编译支持OpenMP的编译器并让matlab指向它。我从macports安装了gcc48,并将matlab mexopts.sh文件更改为指向新的编译器。
希望它可以帮助任何人,只要记住我没有端到端地做,但离开它并转移到matlab计算机视觉工具箱。
答案 1 :(得分:0)
eval([mexcmd ' gdetect/fconvsse.cc -o fconv']);
将-o
替换为-output
,系统将完美运行。