ulassbin / openslam_falkolib Goto Github PK
View Code? Open in Web Editor NEWThis project forked from openslam-org/openslam_falkolib
falkolib from OpenSLAM.org
License: Other
This project forked from openslam-org/openslam_falkolib
falkolib from OpenSLAM.org
License: Other
* FALKOLib - Fast Adaptive Laser Keypoint Orientation-invariant * Copyright (C) 2016 Fabjan Kallasi and Dario Lodi Rizzini. OVERVIEW ------------------------------------------------- FALKOLib is a library that implements two keypoint detectors and two descriptors designed for 2D LIDARs. The two detectors are: - FALKO (Fast Adaptive Laser Keypoint Orientation-invariant), a general purpose keypoint detector which gives the name to the whole library; - OC (Orthogonal Corner), a keypoint specific for enviroments with straight linear walls and architectural elements arranged along orthogonal directions. The two descriptors are: - BSC (Binary Shape Context), a binary version of standard shape context descriptor; - CGH (Cumulative Gaussian Histogram), which represents the neighborhood of a point with an histogram. Moreover, the library provides the implementation of methods for keypoint/feature data association. In particular, the following methods have been implemented: - NN (Nearest Neighbor): each keypoint/feature of one set are associated to the nearest keypoint/features of another set; - CCDA (Combined Constraint Data Association): features are associated by finding the maximal sets of corresponding feature pairs, which are compatible with constraints to a set; - AHT (Affine Hough Transform): the corresponding features are found by voting the affine/rigid transformation that overlaps them according to Hough technique. If you use this library, please cite the following paper: F. Kallasi, D. Lodi Rizzini, and S. Caselli. Fast Keypoint Features from Laser Scanner for Robot Localization and Mapping. IEEE Robotics and Automation Letters (RA-L), 1(1):176-183, jan 2016. DOI 10.1109/LRA.2016.2517210 or the most relevant publication associated by visiting: http://rimlab.ce.unipr.it/ DEPENDENCIES ------------------------------------------------- The software depends on the following external libraries Boost >= 1.36 (submodule lexical_cast) Eigen 3.0 The library also requires the third party library mcqd developed by Janez Konc (see http://www.sicmm.org/konc/), which has been included in folder EXTERNAL. HOW TO COMPILE ------------------------------------------------- Let ${falkolib_ROOT} be the install directory of your local copy of library falkolib. The following standard commands are required to compile it: cd ${falkolib_ROOT} mkdir build cd build cmake .. make You can also install the library into a system directory. To change the install directory you must set cmake environment variable ${CMAKE_INSTALL_PREFIX} (e.g. using command "ccmake .." before calling "cmake .."). Its default value on UNIX-like/Linux systems is "/usr/local". After compiling library falkolib, run the command: sudo make install The command "sudo" is required only if ${CMAKE_INSTALL_PREFIX} is a system diretory managed by administrator user root. Such command copies: - header files of ${falkolib_ROOT}/include/falkolib to ${CMAKE_INSTALL_PREFIX}/include/falkolib/ - library files ${falkolib_ROOT}/lib/libfalkolib.a to ${CMAKE_INSTALL_PREFIX}/lib/ - cmake script ${falkolib_ROOT}/cmake_modules/falkolibConfig.cmake to ${CMAKE_INSTALL_PREFIX}/share/falkolib/ HOW TO USE LIBRARY falkolib IN YOUR PROJECT ------------------------------------------------- If library falkolib has been installed in system directory "/usr/local", then it is straighforward to use it in your projects. You needs to add the following lines to your project as in this example: CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(foobar) find_package(falkolib REQUIRED) message(STATUS "falkolib_FOUND ${falkolib_FOUND}") message(STATUS "falkolib_INCLUDE_DIRS ${falkolib_INCLUDE_DIRS}") message(STATUS "falkolib_LIBRARY_DIRS ${falkolib_LIBRARY_DIRS}") message(STATUS "falkolib_LIBRARIES ${falkolib_LIBRARIES}") if(${falkolib_FOUND}) include_directories(${falkolib_INCLUDE_DIRS}) link_directories(${falkolib_LIBRARY_DIRS}) endif() add_executable(foobar foobar.cpp) target_link_libraries(foobar ${falkolib_LIBRARIES}) The above example uses the variables defined in falkolibConfig.cmake: falkolib_FOUND - system has falkolib module falkolib_INCLUDE_DIRS - the falkolib include directories falkolib_LIBRARY_DIRS - the falkolib library directories falkolib_LIBRARIES - link these to use falkolib
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.