第一步

您可以通过3种不同的方法安装和使用OTB:

  • 单机版软件包
  • docker镜像
  • 从源头开始构建

在此页中,我们描述了 necessary system dependencies 要针对这些使用案例进行安装,您可以根据您的操作系统遵循以下教程

Linux

为了运行OTB应用程序,如果您计划使用Python界面或应用程序的图形版本,则必须确保在系统上安装了一些必要的依赖项

运行独立包的系统依赖项

OTB 8既有命令行界面,也有图形界面,后者需要一些系统依赖才能正常运行。这里提供了在流行的发行版上使用包管理器安装所需依赖项的包安装示例。

根据您的需要,可以单独执行以下命令

Ubuntu 20.04和22.04

# Required packages to extract OTB from the archive
apt update && apt install -y --no-install-recommends file python3 python3-dev python3-numpy

# Required tools to recompile the python bindings
apt install -y --no-install-recommends g++ swig cmake make

# Required tools to run OTB apps with graphical interface
apt install -y --no-install-recommends libgl-dev libgl1 libxcb1 '^libxcb.*' libx11-xcb1 libglu1-mesa libxrender1 libxi6 libxkbcommon0 libxkbcommon-x11-0 libxinerama1

RedHat 8/Fedora 37+

# Required packages to extract OTB from the archive
dnf update && dnf install -y python38 python38-devel python38-numpy

# Required tools to recompile the python bindings
dnf install gcc gcc-c++ cmake3 swig make which

# Required tools to run OTB apps with graphical interface
dnf install -y mesa-libGL mesa-libGL-devel mesa-libGLU libXcursor libXi libXinerama libXrandr libxcb-devel libxkbcommon-devel libxkbcommon-x11-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel

运行docker映像的系统依赖项

为了运行docker映像,您只需在您的计算机上安装docker。众所周知,docker映像可以在MacOS(Intel和Silicon)、任何Linux以及WSL Linux环境中的Windows上运行

请按照以下教程安装Docker,具体取决于您的操作系统:https://docs.docker.com/engine/install/

要从源代码构建的系统依赖项

您有两个从源代码构建的选择,它们在“从源代码编译OTB”一节中有详细介绍。

  • Native build :您需要安装操作系统中打包的OTB依赖项。
  • Superbuild build :您需要安装构建所有OTB依赖项所需的包

公共依赖项

Ubuntu 20.04和22.04
apt update -y && apt install -y --no-install-recommends ca-certificates curl make cmake g++ gcc git git-lfs libtool swig python3 python3-dev python3-pip python3-numpy pkg-config patch

# Additional dependencies if you need to build the documentation
apt install -y texlive-latex-base texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended doxygen graphviz gnuplot dvipng python3-sphinx sphinx-rtd-theme-common
pip install sphinx_rtd_theme
RedHat 8/Fedora 37+
dnf -y update && dnf install -y git git-lfs cmake3 which procps swig gcc gcc-c++ make glibc-static patch patchelf pcre-devel python38 python38-devel python38-numpy python38-pip openssl-devel perl-devel zlib-devel curl-devel

# Additional dependencies if you need to build the documentation
dnf install -y texlive texlive-dvipng doxygen graphviz gnuplot python38-sphinx
pip install sphinx_rtd_theme

本机版本的依赖项

Ubuntu 20.04和22.04
# Install mandatory dependencies
apt install -y --no-install-recommends libboost-filesystem-dev libboost-serialization-dev libboost-system-dev libboost-thread-dev libcurl4-gnutls-dev libgdal-dev python3-gdal libexpat1-dev libfftw3-dev libgeotiff-dev libgsl-dev libinsighttoolkit4-dev libgeotiff-dev libpng-dev libtinyxml-dev

# Install optional dependencies
apt install -y --no-install-recommends libmuparser-dev libmuparserx-dev libkml-dev libopencv-core-dev libopencv-ml-dev libopenmpi-dev libsvm-dev

# Install graphical dependencies
apt install -y --no-install-recommends libegl1-mesa-dev libglvnd-dev libglu1-mesa-dev libglx-dev libgles2-mesa-dev libglew-dev libglfw3-dev freeglut3-dev qtbase5-dev qttools5-dev libqt5opengl5-dev libqwt-qt5-dev
RedHat 8/Fedora 37+
# Install mandatory dependencies
dnf install -y boost-devel gdal-devel python3-gdal expat-devel libgeotiff-devel fftw-devel InsightToolkit-devel gsl-devel libpng-devel tinyxml-devel

# Install optional dependencies (for muparserX, you have to manually add a third party repository)
dnf install -y muParser-devel opencv-devel libsvm-devel libkml-devel

# Install graphical dependencies
dnf install -y mesa-libGL mesa-libGLU libXcursor libXi libXinerama libXrandr libpnglibjpeg libxcb libxkbcommon libxkbcommon-x11 xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm

SuperBuild版本的依赖项

Ubuntu 20.04和22.04
# Install graphical dependencies
apt install '^libxcb.*-dev' libglvnd-dev libglu1-mesa-dev libegl1-mesa-dev mesa-utils libgles2-mesa-dev libperl-dev libwayland-dev libxi-dev libxrandr-dev libxinerama-dev libxcursor-dev libxkbcommon-x11-dev libxkbcommon-dev libxcb-xinerama0-dev libx11-xcb-dev
RedHat 8/Fedora 37+
dnf -y install mesa-libGL-devel mesa-libGLU-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel libpng-devel       libjpeg-devel libxcb-devel libxkbcommon-devel libxkbcommon-x11-devel xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel

Windows

Windows二进制程序包可用于Windows 10 64位或更高版本。为了正常运行,您需要确保安装了所需的系统依赖项

  • 若要使用此程序包,您必须安装《适用于Visual Studio 2019的Visual C++可再发行组件》。可从以下地址免费下载 microsoft
  • 如果您计划运行图形界面,则由于缺少OpenGL支持,如果您在VM上运行Windows,则Monteverdi可能会崩溃。要解决这个问题,您可以 download here 在启动任何OTB图形应用程序之前,Mesa项目会打开OpenGL DLL,并将其放入OTB安装的‘bin’文件夹中

Monteverdi将在未来的OTB 9版本中被弃用,我们强烈建议切换到QGIS,它将成为OTB的默认查看器

MacOS

OTB>8中将不再支持MacOS,因为工具箱不能在ARM(Apple Silicon)架构上本地编译。我们建议使用docker镜像,它在Intel和Apple Silicon架构上都能完美地工作