安装¶
我们为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包。