安装

我们为OTB应用程序提供不同的独立二进制程序包:

  • 适用于Windows平台(7或更高版本)
  • 对于64位Linux发行版
  • 适用于MacOS X

其他二进制文件可以包的形式提供(OSGeo包、Debian/Ubuntu包、OpenSUSE包),但是请注意,它们可能不是最新的,也不包含完整的功能。如果您想要从源代码构建,或者如果我们不为您的系统提供包,可以在 从源代码编译OTB 一节。

您可以从我们的 Download page

Windows

Before extracting the package, make sure that you have been through the 第一步 页面

Windows二进制程序包可用于Windows 10或更高版本。可从以下地址下载 otb download page

解压存档并使用其中一个启动器,它们包含所有应用程序及其启动器(提供命令行和图形启动器):

  • monteverdi.bat :Monteverdi的启动器脚本
  • mapla.bat :Mapla的启动器脚本
  • otbenv.bat :为OTB可执行文件初始化环境的脚本
  • bin :包含应用程序启动器(otbcli.bat)和DLL的文件夹。
  • lib :包含应用程序DLL的文件夹。
  • include :包含编译基于OTB的项目所需的所有标头的文件夹。
  • tool :包含有用脚本的文件夹,用于测试安装或卸载OTB库和头文件,同时保留所有依赖项。

如果要使用otbcli启动器,可以使用 otbenv.bat

该包可用于使用OTB编译其他项目(包括二进制文件、库和头文件)。如果您想使用这个包从源代码构建OTB,您应该首先从包中卸载特定的OTB文件,以便只保留依赖项(我们称之为XDK)。您可以使用提供的脚本执行此操作 tools/uninstall_otb.bat

In the package you also have a template project for Visual 2015 OTB Project.zip. This template can be placed in your user Visual 2015 template directory : %USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates. The script start_devenv.bat allows to copy the template in that folder and start Visual Studio.

Python绑定

从OTB 6.7.0开始,用于Python3.5的OTB绑定以二进制包的形式分发。从OTB 8.0.0开始,Python3.7的绑定是分布式的。请注意,使用不同的Python版本可能与OTB包装不兼容。如果安装完成而没有问题,将提供与您的Python绑定相关的信息。

您的系统中必须安装了PythonNumPy绑定。它们可以在没有管理员权限的情况下本地安装,如下所示:“pip安装--用户编号”。这是为了让用户可以选择他们自己现有的Python安装,而不是OTB包分发的安装。

默认情况下,Python3.7的绑定将使用 otbenv 剧本。

Linux

Before extracting the package, make sure that you have been through the 第一步 页面

我们为GNU/Linux x86_64提供了一个二进制程序包。该程序包包括所有OTB应用程序以及命令行启动器。可从以下地址下载 OTB's download page

这个包是一个可自解压的归档文件。您可以通过双击文件或从命令行解压缩它,如下所示:

chmod +x OTB-@OTB_VERSION_STRING@-Linux64.run
./OTB-@OTB_VERSION_STRING@-Linux64.run

自解压存档只需要在大多数Linux发行版上找到的常用工具(“sed”、“grep”、“find”、“cat”、“printf”、“ln”等)。但是,请注意,它需要诸如“哪些”和“文件”之类的工具(例如,在构建容器时,它们并不总是存在)。

请注意,生成的安装不是要移动的,您应该在其最终位置解压缩存档。解压归档文件后,目录结构由以下部分组成:

  • otbenv.profile :为OTB可执行文件初始化环境的脚本
  • bin :包含应用程序启动器的文件夹(otbcli.sh)
  • lib :包含所有共享库和OTB应用程序的文件夹。
  • include :包含编译基于OTB的项目所需的所有标头的文件夹。
  • share :包含常见资源和版权提及的文件夹。
  • tool :包含有用脚本的文件夹,用于测试安装或卸载OTB库和头文件,同时保留所有依赖项。

如果要使用otbcli启动器,可以使用以下命令初始化环境 source otbenv.profile

该包可用于使用OTB编译其他项目(包括二进制文件、库和头文件)。如果您想使用这个包从源代码构建OTB,您应该首先从包中卸载特定的OTB文件,以便只保留依赖项(我们称之为XDK)。您可以使用提供的脚本执行此操作 tools/uninstall_otb.sh

Python绑定

从OTB 8.0.0开始,用于Python3.8的OTB绑定以二进制包的形式分发。(从OTB 6.7到7.4,为Python3.5提供了绑定)请注意,使用不同的Python版本可能与OTB包装不兼容。如果安装完成而没有问题,将提供与您的Python绑定相关的信息。

您的系统中必须安装了Python NumPy绑定。它们可以在没有管理员权限的情况下本地安装,如下所示:“pip安装--用户编号”。这是为了让用户可以选择他们自己现有的Python安装,而不是OTB包分发的安装。

默认情况下,Python3.8的绑定将使用 otbenv 剧本。

重新编译Python绑定

如果您使用的是除3.8之外的另一个版本的Python3,但仍希望使用OTB Python绑定,则可以使用您的版本的Python重新编译该Python绑定。CMake是必需的(它在大多数包管理器中可用或在 [https://cmake.org/] )。确保您已在 First Step 页面

在OTB安装运行的根目录中:

source otbenv.profile
ctest -S share/otb/swig/build_wrapping.cmake -VV

您现在应该能够导入 otbApplication 通过 Python !

为OTB创建健康的Python环境

我们强烈建议使用虚拟环境来 avoid conflicts between OTB and GDAL when you develop python scripts that uses other dependencies like rasterio, scikit...

# Source your OTB environment
. <your installation directory>/otbenv.profile
# Create a virtual env and install some libraries
python -m venv otb_venv
. otb_venv/bin/activate
pip install --upgrade pip
pip install scikit-image scikit-learn geopandas
# Rastero depends on GDAL and need to be compiled on the flight with current OTB's own GDAL
pip install rasterio --no-binary :all:
# Use your libraries within Python
python
> import rasterio
> import otbApplication as otb

备注:

  • 你可能会忍不住把“OTB-- @OTB_VERSION_STRING@ -Linux64“解压后进入另一个位置,比如/usr/local/。但是要避免这个动作!
  • 拥有“OTB-- @OTB_VERSION_STRING@ -Linux64“安装在/usr/local或/opt EXECUTE”OTB- @OTB_VERSION_STRING@ -Linux64.run“在该目录中。
  • OTB的多个安装可以在同一系统中存在,而不会相互冲突!

FAQ

问:无法使用Python3.8导入otbApplication库

ImportError: libpython3.8m.so.rh-python38-1.0: cannot open shared object file: No such file or directory

答:你需要添加一个符号链接到libpython3.8m.so.rh-python38-1.0才能工作。

以下是解决方案:

  • 在您的系统上找到libpython3.8XX: find /usr/lib -iname *libpython3.8* (在Ubuntu 20.04上,它是 /usr/lib/x86_64-linux-gnu/libpython3.8m.so )
  • 创建符号链接: ln -s path/to/lib/python3.8XX path/to/lib/libpython3.8m.so.rh-python38-1.0
  • 再次尝试导入otbApplication

查看上的讨论 OTB issue tracker

MacOS X

我们通过独立的软件包为MacOS X提供支持。这个包是一个可自解压的归档文件,与Linux包非常相似。

该软件包是使用英特尔处理器编译的,与最新MacOS电脑中的ARM处理器不兼容。如果您想在这样的设备上使用OTB,我们建议使用Docker镜像(如下所示)。

您可以使用命令行解压缩:

chmod +x OTB-@OTB_VERSION_STRING@-Darwin64.run
./OTB-@OTB_VERSION_STRING@-Darwin64.run

解压存档后,您可以查看OTB- @OTB_VERSION_STRING@ -同一目录中的Darwin64目录以及OTB- @OTB_VERSION_STRING@ -Darwin64.run

OTB的内容- @OTB_VERSION_STRING@ -Darwin64简要列出如下:

  • bin :包含应用程序启动器的文件夹(otbcli.sh)。
  • lib :包含所有共享库和OTB应用程序的文件夹。
  • include :包含编译基于OTB的项目所需的所有标头的文件夹。
  • share :包含常见资源和版权提及的文件夹。
  • tool :包含有用脚本的文件夹,用于测试安装或卸载OTB库和头文件,同时保留所有依赖项。

如果要使用otbcli启动器,可以使用以下命令初始化环境 source otbenv.profile

该包可用于使用OTB编译其他项目(包括二进制文件、库和头文件)。如果您想使用这个包从源代码构建OTB,您应该首先从包中卸载特定的OTB文件,以便只保留依赖项(我们称之为XDK)。您可以使用提供的脚本执行此操作 tools/uninstall_otb.sh

Python绑定

从OTB 6.7.0开始,用于Python3.7的OTB绑定以二进制包的形式分发。请注意,使用不同的Python版本可能与OTB包装不兼容。如果安装完成而没有问题,将提供与您的Python绑定相关的信息。

您的系统中必须安装了PythonNumPy绑定。它们可以在没有管理员权限的情况下本地安装,如下所示:“pip安装--用户编号”。这是为了让用户可以选择他们自己现有的Python安装,而不是OTB包分发的安装。

默认情况下,Python3.7的绑定将使用 otbenv 剧本。

重新编译Python绑定

如果您使用的是3.7以外的其他版本的Python3,但仍希望使用OTB Python绑定,则可以使用您的版本的Python来重新编译该Python绑定。CMake是必需的(它在Brew中提供或在 [https://cmake.org/] )。在OTB安装运行的根目录中:

source otbenv.profile
ctest -S share/otb/swig/build_wrapping.cmake -VV

您现在应该能够导入 otbApplication 通过 Python !

备注:

  • 如果要使用otbcli启动器,则必须通过终端提示符访问它们。
  • 您可以移动这些.app文件,但不能移动或删除OTB- @OTB_VERSION_STRING@ -Darwin64提取后。以防您需要在其他目录中安装OTB。在那里解压.run文件。

Docker镜像

上提供了Docker图像 DockerHub 。它可以在任何运行Docker的设备上使用,并提供了python3.8。

docker pull orfeotoolbox/otb

要运行CLI工具,您可以使用以下命令启动docker映像:

docker run -it orfeotoolbox/otb

如果您计划使用图形用户界面应用程序,则必须使用以下参数调用docker:

docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix/ --device=/dev/dri:/dev/dri orfeotoolbox/otb monteverdi

CONDA套餐

Linux上的Orfeo工具箱提供了一个Conda包。可以在https://anaconda.org/orfeotoolbox/otb上找到它,并可以使用以下命令进行安装

conda install -c orfeotoolbox otb

其他套餐

警告!这些程序包可能不是最新的OTB版本。此外,该库的某些功能可能并非在每个平台上都可用。其中一些不是由OTB团队维护的。如果您想参与您最喜欢的平台的OTB打包,请通过开发者的邮件列表联系我们:OTB-Developers@googlegroups.com

Debian

从5.2.0版本开始,就有针对Debian(不稳定)的OTB包。OTB应用程序包可通过APT存储库以Debian包的形式提供:

  • 用于命令行应用程序的OTB-bin
  • PYTHON-适用于PYTHON应用程序的OTB

由于许可证问题,Debian内置的OTB包不包含6S。因此,该程序包不包含OpticalCalitation应用程序。

乌班图

对于Ubuntu 12.04及更高版本,OTB应用程序包可能会以Debian包的形式通过APT存储库提供:

  • 用于命令行应用程序的OTB-bin
  • PYTHON-适用于PYTHON应用程序的OTB

从版本3.14.1开始,OTB应用程序包在 ubuntugis-unstable 存储库。

从5.2.0版开始,Ubuntu包派生自Debian包。

您可以使用以下命令行添加它:

sudo aptitude install add-apt-repository
sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable

然后,您需要运行:

sudo aptitude install otb-bin python-otb

如果您使用的是 Synaptic ,您可以通过图形用户界面添加存储库、更新和安装包。

有关Ubuntu包的更多信息,请访问 ubuntugis-unstable LaunchPad页面,然后点击阅读关于安装的内容。

APT-ADD-REPORATION将尝试检索存储库的GPG密钥,以证明包的来源。如果您使用的是http代理,则此步骤将不起作用,apt-add-store将停止并最终退出。您可以暂时忽略此错误并继续执行更新步骤。在此之后,APTITY UPDATE将就签名问题发出警告。该警告不会阻止您安装程序包。

OpenSuse

对于OpenSUSE 12.X和更高版本,OTB应用程序包可通过 zypper

首先,您需要使用以下命令添加适当的存储库(请替换 11.4 使用您的OpenSUSE版本):

sudo zypper ar
http://download.opensuse.org/repositories/games/openSUSE_11.4/ Games
sudo zypper ar
http://download.opensuse.org/repositories/Application:/Geo/openSUSE_11.4/ GEO
sudo zypper ar
http://download.opensuse.org/repositories/home:/tzotsos/openSUSE_11.4/ tzotsos

然后,您应该运行:

sudo zypper refresh
sudo zypper install OrfeoToolbox
sudo zypper install OrfeoToolbox-python

或者,您也可以使用一键安装程序 openSUSE Download page 或者添加上述仓库,通过YaST包管理进行安装。

还有对最近引入的名为‘Tumbleeed’的‘滚动式’OpenSUSE发行版的支持。对于Tumbleeed,您需要使用以下命令行添加以下存储库:

sudo zypper ar
http://download.opensuse.org/repositories/games/openSUSE_Tumbleweed/ Games
sudo zypper ar
http://download.opensuse.org/repositories/Application:/Geo/openSUSE_Tumbleweed/ GEO
sudo zypper ar
http://download.opensuse.org/repositories/home:/tzotsos/openSUSE_Tumbleweed/ tzotsos

然后添加如上所示的OTB包。

ArchLInux

包在AUR(Arch用户存储库)中。然后您需要运行(如果您使用yaourt,您可以改用trizen):

yaourt -S orfeo-toolbox