libpointmatcher安装和使用
libpointmatcher介绍:
libpointmatcher is a modular library implementing the Iterative Closest Point (ICP) algorithm for aligning point clouds. It has applications in robotics and computer vision.
安装:
1、提前准备
a. Installing Boost
安装命令 sudo apt-get install libboost-all-dev
b. Installing Git
安装命令 sudo apt-get install git-core
c. Installing CMake
sudo apt-get install cmake cmake-gui
2、正式安装
a .Installing Eigen
安装命令 sudo apt-get install libeigen3-dev
b. Installing libnabo
git clone git://github.com/ethz-asl/libnabo.git
cd libnabo
gedit install.sh
复制如下的命令到文件里面
#!/bin/bash
echo start
SRC_DIR=`pwd`
BUILD_DIR=${SRC_DIR}/build
mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ${SRC_DIR}
make
sudo make install
echo done!
执行./install.sh
c. Compiling the Documentation
安装命令 sudo apt-get install doxygen
安装命令 sudo apt-get install texlive-full
d. Installing libpointmatcher
cd ~/Libraries/
git clone git://github.com/ethz-asl/libpointmatcher.git
cd libpointmatcher
gedit install.sh
复制如下的命令到文件里面
#!/bin/bash
echo start
SRC_DIR=`pwd`
BUILD_DIR=${SRC_DIR}/build
mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo ${SRC_DIR}
make
sudo make install
echo done!
执行./install.sh
编译用例:
在libpointmatcher的example目录下
修改CMakeLists.txt为
cmake_minimum_required(VERSION 3.5)
add_compile_options(-std=c++)
find_package(Boost 1.45. COMPONENTS system filesystem regex) #if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS}) add_executable(pmicp icp.cpp)
target_link_libraries(pmicp pointmatcher ${Boost_LIBRARIES})
install(TARGETS pmicp RUNTIME DESTINATION bin) add_executable(icp_simple icp_simple.cpp)
target_link_libraries(icp_simple pointmatcher ${Boost_LIBRARIES}) add_executable(align_sequence align_sequence.cpp)
target_link_libraries(align_sequence pointmatcher ${Boost_LIBRARIES}) add_executable(list_modules list_modules.cpp)
target_link_libraries(list_modules pointmatcher ${Boost_LIBRARIES}) add_executable(build_map build_map.cpp)
target_link_libraries(build_map pointmatcher ${Boost_LIBRARIES}) add_executable(compute_overlap compute_overlap.cpp)
target_link_libraries(compute_overlap pointmatcher ${Boost_LIBRARIES}) add_executable(icp_advance_api icp_advance_api.cpp)
target_link_libraries(icp_advance_api pointmatcher ${Boost_LIBRARIES}) add_executable(icp_customized icp_customized.cpp)
target_link_libraries(icp_customized pointmatcher ${Boost_LIBRARIES}) #endif()
进入example的build文件夹下执行make,会在当先目录下生成可执行文件
添加环境变量:
gedit /etc/profile
在最后面添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
source /etc/profile
执行用例:
在build目录下执行 ./icp_simple ../../examples/data/car_cloud400.csv ../../examples/data/car_cloud401.csv
执行结果:
Final transformation:
0.983804 -0.179247 -0.0575061
0.179247 0.983804 -0.228765
0 0 1
无报错成功!
libpointmatcher安装和使用的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- gentoo 安装
加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- 【原】nodejs全局安装和本地安装的区别
来微信支付有2年多了,从2年前的互联网模式转变为O2O模式,主要的场景是跟线下的商户去打交道,不像以往的互联网模式,有产品经理提需求,我们帮忙去解决问题. 转型后是这样的,团队成员更多需要去寻找业务的 ...
- tLinux 2.2下安装Mono 4.8
Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼容.Mono 4版本要求CentOS 7 ...
随机推荐
- Mybatis逆向工程自动生成代码(Ubuntu18.04-idea环境)
最近在学习taotao商城项目,有一节是关于mybatis逆向工程的,参考了这个博文,https://blog.csdn.net/yerenyuan_pku/article/details/71909 ...
- storcli 简易使用介绍
MegaCli 是LSI公司官方提供的SCSI卡管理工具,由于LSI被收购变成了现在的Broadcom,所以现在想下载MegaCli,需要去Broadcom官网查找Legacy产品支持,搜索MegaR ...
- 远程连接SqlServer 数据库时提示 "在与SQL Server 建立连接时出现与网络相关的或特定实例的错误" 解决方法
前言 由于在之前的职业生涯中, 无论是数据库还是开发环境, 都是前人弄好的,自己只管使用就好啦.并不知安装过程中会出现各种各样的错.最近接触服务器之后,开发环境以及配置各方面都是从头到脚开始安装到配置 ...
- 列举至少3种Support包中提供的布局或工具
android.support.v7.widget.CardView 继承自FrameLayout并实现了圆角和阴影效果,常用于ListView或RecyclerView中Item布局的根节点 示例代 ...
- 2017年4月13日用VS写C程序遇到的一些问题
在网上找到一篇展示计算机浮点数格式的文章,且有C代码如下: #include <stdio.h> #include <stdlib.h> #include <string ...
- 介绍一下Spring Cloud Config
Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持.使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring ...
- Mac下部署Ionic环境
1.下载安装nodejs,可以到官网http://nodejs.org/en/download/上去下载最新版本安装,比较无脑.如果官网打不开的话可以到中文网站去下载http://nodejs.cn/ ...
- Async CallBack promise fetch
Callback (回调函数) 在计算机程序设计中,回调函数,或简称回调(Callback 即call then back 被主函数调用运算后会返回主函数),是指通过函数参数传递到其它代码的,某一块可 ...
- puts方法要点
puts是print string的缩写.尽管没有直观的表示会调用换行符,但是puts会这样做:如同print,打印用户的数据,之后自动地转到新一行.假如让puts打印已经以换行符结束的一行,它不会再 ...
- 马凯军201771010116《面向对象与程序设计Java》第十三周学习总结
实验十三 图形界面事件处理技术 实验时间 2018-11-22 理论知识与学习部分 事件处理基础 事件源(event source):能够产生事件的对象都可 以成为事件源,如文本框.按钮等.一个事 ...