project logo OSGeo Project

OTB Quickstart

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 from 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
Sample data used in this quickstart can be found in :
  • /home/user/data/north_carolina/rast_geotiffs

Display metadata informations in an image

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

Calculator on image bands

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.

You can then visualize input images and the result with the command

monteverdi lsat7_2002_30.tif lsat7_2002_40.tif ~/ndvi.tif

Pixel based classification

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.

To discover this application, you can use the command

otbgui_TrainImagesClassifier

Perform segmentation

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:

  • Creation of a multichannel Red-Green-Blue-Nir image
otbcli_ConcatenateImages -il lsat7_2002_30.tif lsat7_2002_20.tif lsat7_2002_10.tif lsat7_2002_40.tif -out ~/lsat7_rgbn.tif
  • Apply segmentation
otbcli_Segmentation -in ~/lsat7_rgbn.tif -filter meanshift -mode raster -mode.raster.out ~/segmentation.tif
  • Generate colors instead of labels
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:

  • Raster mode: allows to segment a small image and produces a raster where each

    component of the segmentation is labeled with a unique integer

  • Vector mode: segment larger images and produces a vector file where each

    segment of the segmentation is represented by a polygon

    ../../_images/otb-meanshift-lsat7.png

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.

OTB in QGis

The same set of OTB applications can also be used from the Processing -> Toolbox menu in QGis. The applications are sorted by tag.

../../_images/otb-processing-qgis.png

Developing with OTB

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.

What Next?

  • 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 Monteverdi 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 Monteverdi

    Follow the courses to learn more about OTB (see section Tutorials).