A free Python-based software application (GPL) for image processing and classification of high-resolution satellite imagery. The Machine Learning, Computer Vision and Scientific Computing libraries are based on scipy, numpy, OpenCV, scikit-learn GUI is based in Tkinter.
Import functionality for Multi-Format Satellite data (TIFF - Tagged Image File Format, PNG, JPG)
Splitting image into component bands
Merging bands through different colors, to make visible subtle contrasting features.
Creation of user-defined False Color Composite (FCC) images.
Preprocessing
Display/ Enhancement
Spatial Enhancement - Bands are passed through high pass and low pass filters - Mean filters,
Median Filters, Sobel, Kisrch, Gaussian and Fourier Transfom filters.
Spectral Enhancement – NDVI, RVI, TVI. Principal Component Analysis and Fourier transform.
Contrast Enhancement-linear, logarithmic, exponential and piecewise linear
Point Operations, Histogram Equalization
Calculation of important indices
Image Reduction, Magnification, Local Operations
Feature Classification – using Machine Learning algorithms
Personalized results – region selection
Conclusions about resulted Images
##Libraries Used
GDAL – Geospatial Data Abstraction Library ( a C++ library wrapped for Python support )
GDAL is a translator library for raster and vector geospatial data formats that is released under
anX/MIT style Open Source license by the Open Source Geospatial Foundation. As a library, it presents
a single raster abstract data model and vector abstract data model to the calling application for all supported
formats. It also comes with a variety of useful command line utilities for data translation and processing.
OpenCV – standard Image processing library
OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning
software library. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify
the code. The library has more than 2500 optimized algorithms, which includes a comprehensive set of both
classic and state-of-the-art computer vision and machine learning algorithms. These algorithms can be used
to detect and recognize faces, identify objects, classify human actions in videos, track camera movements,
track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch
images together to produce a high resolution image of an entire scene, find similar images from an image
database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and
establish markers to overlay it with augmented reality, etc.
Python Imaging Library – Basic raster image support
The Python Imaging Library (PIL) adds image processing capabilities to your Python interpreter. This
library supports many file formats, and provides powerful image processing and graphics capabilities.
NumPy is the fundamental package for scientific computing with Python. It contains among other things:
a powerful N-dimensional array object
-
sophisticated (broadcasting) functions
-
tools for integrating C/C++ and Fortran code
-
useful linear algebra, Fourier transform, and random number capabilities
Matplotlib – For Data analysis, visualization, etc
Python standard library
Tkinter library – for GUI frontend programming. Tkinter is Python's de-facto standard GUI (Graphical User Interface) package.