libnabo 是一个快速为低维度空间提供K最近邻居算法库。它提供了一个干净的,传统的无标量类型无关的C ++模板API。
示例代码:
#include "nabo/nabo.h" using namespace Nabo; using namespace Eigen; ... NNSearchF* nns = NNSearchF::createKDTreeLinearHeap(M); const int K = 5; VectorXi indices(K); VectorXf dists2(K); nns->knn(q, indices, dists2, K);
libnabo 是在低维空间进行快速最近邻搜索库。 它提供了一个干净的,传统的无标量类型无关的C ++模板API。 mkdir ~/lib/ cd ~/lib git clone git://github.com/ethz-asl/libnabo.git cd libnabo SRC_DIR=`pwd` //记录当前路径 BUILD_DIR=${SRC_DIR}/build //声明编译路径 mk
使用libnabo库的时候发现/usr/local/lib文件夹下没有libnabo.so动态库,只有libnabo.a静态库 查看libnabo的CMakeLists.txt: set(SHARED_LIBS FALSE CACHE BOOL "Set to TRUE to build shared library") 可以看到默认编译的是静态库,这里将参数改成TRUE就可以编译成动态库了
我是挂着梯子执行指令出现的这个错误,把git改成https就可以了 git clone https://github.com/ethz-asl/libnabo.git