[教程] Ubuntu16.04系统安装Open3D

  • Post author:
  • Post category:其他




Ubuntu16.04系统安装Open3D

在这里插入图片描述


Open3D



Intel

开源的一个支持快速开发处理

3D

数据的软件库,提供

C++



Python

接口,目前已经应用到越来越多的项目中。本文将介绍如何在

Ubuntu16.04

系统上安装

Open3D



安装过程

如果是

Ubuntu18.04

及以上版本的系统,那么可以直接通过

pip

命令就可以安装

Open3D

。在

Ubuntu16.04

的系统上,虽然可以通过

pip

命令安装成功,但是运行的时候会报下面的错误:

Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27'

如果想要在

Ubuntu16.04

的系统上使用

Open3D

该怎么办呢?可以通过编译源码的方式进行安装:



  1. github

    上下载

    Open3D

    的源码,如果下载速度比较慢,可以先把仓库导入到

    gitee

    ,再从

    gitee

    上下载。
git clone https://github.com/isl-org/Open3D

切换到

v0.6.0

版本

git checkout v0.6.0

再下载子模块的代码

git submodule update --init --recursive

这一步是下载子模块

3rdparty

的代码,如果下载的比较慢,同样可以先把仓库导入到

gitee

,再把

.gitmodules

文件中的

url

修改为

gitee

中的仓库地址即可。

  1. 安装依赖
bash util/scripts/install-deps-ubuntu.sh 
  1. 按顺序执行下面的命令编译

    C++

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/Open3D/ -DBUILD_EIGEN3=ON -DBUILD_GLEW=ON -DBUILD_GLFW=ON -DBUILD_JSONCPP=ON -DBUILD_PNG=ON -DENABLE_JUPYTER=OFF -DPYTHON_EXECUTABLE=/usr/bin/python3 ..
make -j$(nproc)
sudo make install
  1. 编译

    Python

make pip-package

编译成功后,会在

lib/python_package/pip_package/

目录下生成对应

Python

版本的

.whl

包,用

pip

命令安装一下就可以了。

pip3 install lib/python_package/pip_package/open3d-0.6.0.0-cp37-cp37m-linux_x86_64.whl

安装成功后可以再验证一下:

python3 -c "import open3d"

如果没有输出错误,就说明已经可以用了。



Open3D可视化


Open3D

的一个简单应用是对点云进行可视化,下面的例子展示了如何通过几行代码对

Modelnet40

数据集中的点云数据进行可视化。

Modelnet40

数据集总共有

40

个类别,每个样本的点云数据存放在一个

.txt

文件中,每行的前3个数据代表一个点的

xyz

坐标。

import open3d as o3d
import numpy as np

def main():
    points_data = np.loadtxt("airplane_0001.txt", delimiter=",", dtype=np.float32)
    pcd = o3d.geometry.PointCloud()
    pcd.points = o3d.utility.Vector3dVector(points_data[:, :3])
    o3d.visualization.draw_geometries([pcd])

if __name__ == '__main__':
    main()


Open3D

显示的是

3D

效果,可以拖动鼠标来转换显示的视角,下面是我截取的两个不同视角下的显示结果:

在这里插入图片描述

在这里插入图片描述



版权声明:本文为weixin_44613415原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。