近似最近邻居(FLANN)的快速库在Matlab中使用

时间:2015-05-12 11:53:57

标签: matlab flann

我想在Matlab 2010,Windows 7中对近似最近邻居(FLANN)使用快速库。但是,会出现以下错误消息。

Undefined function or method 'nearest_neighbors' for input arguments of type 'struct'.

nearest_neighbors文件是cpp文件。我认为应该有某种构建过程,但我不熟悉构建过程。

有人可以给我一些关于这个问题的指导吗? 我希望我能得到一些解决方案。 谢谢。

1 个答案:

答案 0 :(得分:2)

它使用CMake构建。您需要安装CMake以及一些C ++编译器,例如Microsoft Visual Studio。如果使用64位Matlab,编译器应该能够创建64位代码。

您还应该通过在Matlab中运行((bool*)buffer)->~bool(); 来配置Matlab的mex工具。

在Matlab中安装CMAKE并配置编译器后,请执行以下操作。

  1. 运行cmake-gui
  2. 在“来源”输入字段中输入硬盘驱动器上FLANN来源的路径,例如mex -setup
  3. 转到CMake GUI的下一个输入行,然后在硬盘驱动器上输入一些路径,您希望在其中显示已编译的FLANN二进制文件,例如c:\flann。如果目录不存在,CMake将创建该目录
  4. 按“配置”按钮并选择编译器。
  5. CMake检查您的系统并创建变量,存储设置。它在窗口的上半部分显示它们。新的或更改的变量以红色突出显示。窗口的下半部分包含日志消息。
  6. 检查变量并记录并修复错误(如果有)。
  7. 如果需要,重复4-6。
  8. 按“生成”
  9. 现在,CMake已经为您创建了一个项目。项目类型取决于您在4中指定的编译器。现在您应该构建此项目。

    您还可以让CMake运行构建过程: 打开命令提示符并输入以下内容

    c:\flann\build

    根据您的系统更正路径。

    完成这些步骤后,您应该在Matlab中cd c:\flann\build "c:\Program Files (x86)\CMake\bin\cmake" --build . 创建库并能够使用它。