ORFEO Toolbox library (OTB) is a high performance library for image processing targeted on remote sensing.
This Quick Start describes how to:
- Get metadata informations in an image
- Perform mathematical operations between image bands
- Open raster images with the application monteverdi, perform segmentation (mean-shift clustering) and visualize the result
- Perform supervised classification based on Support Vector Machine algorithm
The OTB applications provide lot’s of interesting tools which facilitate the manipulation of images. All these tools are available through:
- CLI (command line interface) : all applications can be called from a terminal starting with otbcli_ plus the application name
- GUI (a standalone graphical user interface in Qt) : the applications can be called from a terminal with the alias otbgui_ plus the application name. An other option is to use a small launcher (available in the menu -> Geospatial -> Spatial Tools -> OTB Launcher)
- QGIS plugin : available through the processing framework
You can get all the metadata informations contained in an image with the command : otbcli_ReadImageInfo The unique parameter is the Input image file name, for example:
otbcli_ReadImageInfo -in ortho_2001_t792_1m.tif
The otbcli_otbBandMath provides an efficient way to perform mathematical operation on image bands. The syntax is quite simple, for example substrating two bands to study the image differences on the images lsat7_2002_10.tif and lsat7_2002_20.tif, just use the command:
otbcli_BandMath -il lsat7_2002_10.tif lsat7_2002_20.tif -out difference.tif -exp "im1b1-im2b1"
The application is able to perform complex mathematical operations over images (threshold, logarithmic rescaling...). This homebrewed digital calculator is also bundled with custom functions allowing to compute a full expression. For example, as remote sensing images measure physical values, it is possible to extract several indices with physical meaning like the NDVI (Normalized Difference Vegetation Index) for the vegetation. With the calculator you’re able to compute the NDVI on a multispectral sensors images by doing:
otbcli_BandMath -il lsat7_2002_30.tif lsat7_2002_40.tif -out ~/ndvi.tif -exp "ndvi(im1b1,im2b1)"
The file lsat7_2002_30.tif corresponds to Landsat 7 red channel, lsat7_2002_40.tif corresponds to Near Infra-Red.
The classification in the application framework provides a supervised pixel-wise classification chain based on learning from multiple images, and using one specified machine learning method like SVM, Bayes, KNN, Random Forests, Artificial Neural Network, and others...(see application help of TrainImagesClassifier for further details about all the available classifiers). It supports huge images through streaming and multi-threading. The classification chain performs a training step based on the intensities of each pixel as features. Please note that all the input images must have the same number of bands to be comparable.
The OTB Segmentation application allows to produce a raster segmentation output with different algorithms and to scale up to large raster by producing vector outputs that you can import in a GIS software. There are four segmentation methods available in the application:
- Mean-Shift
- Watershed (ITK implementation)
- Connected-Components
- Morphological profiles
You can test the segmentation with these commands:
otbcli_ConcatenateImages -il lsat7_2002_30.tif lsat7_2002_20.tif lsat7_2002_10.tif lsat7_2002_40.tif -out ~/lsat7_rgbn.tif
otbcli_Segmentation -in ~/lsat7_rgbn.tif -filter meanshift -mode raster -mode.raster.out ~/segmentation.tif
otbcli_ColorMapping -in ~/segmentation.tif -out ~/segmentation_colored.tif -method image -method.image.in ~/lsat7_rgbn.tif
Moreover the application can work in two different modes:
component of the segmentation is labeled with a unique integer
segment of the segmentation is represented by a polygon
OTB includes also a framework to perform tile-wise segmentation of very large image with theoretical guarantees of getting identical results to those without tiling called LSMS.
The same set of OTB applications can also be used from the Processing -> Toolbox menu in QGis. The applications are sorted by tag.
If you want to use the OTB library and compile your C++ code inside OSGeo-Live, you will need to install development package libotb-dev and libqt4-dev . Also check that cmake is installed. The OTB_DIR location should be found automatically (usually in /usr/lib/x86_64-linux-gnu/cmake/OTB-...). In your CMake configuration, you should link the libraries in the variable OTB_LIBRARIES. More information can be found in the SoftwareGuide.
OTB Software Guide
The main source of information is the OTB Software Guide. This is a comprehensive guide which comprises about 600 pages, detailing the steps to install OTB and use it. Most of the classes available are heavily illustrated with results from real remote sensing processing.
OTB CookBook
A guide for OTB-Applications and Monteverdi2 dedicated for non-developers is also available.This guide is composed of a brief tour of of OTB-Applications and Monteverdi, followed by a set of recipes to perform usual remote sensing tasks with both tools.
OTB Tutorials
Follow the tutorials to learn more about OTB.
OTB Applications documentation
See also detailed documentation about OTB applications
OTB courses with Pleiades images to learn how to use OTB applications and Monteverdi2
Follow the courses to learn more about OTB (see section Tutorials).