Based on RIOS
original module for Raster Computer Vision Simplification (as part of the RSGISLib
library), this module extends the implementation for further integration of Computer Vision and Image Processing processing features. See references below.
Description
Python basic tools for geo-processing workflow of raster and vector data:
- using the input/output utility functions of RIOS
(Raster Input Output
Simplification) module, itself based on gdal
module,
- using external Computer Vision and Image Processing processing (CVIP)
algorithms provided (when installed independently) by modules like PIL
,
OpenCV
(i.e. cv2
), skimage
, matplotlib
and/or scipimage
.
This way, a 'simple' definition of processing workflow is possible
Note
Only the applier
(block) processor has been override: this functionality is
available (in the original code) through the apply
function of the module
applier.py
. This function has been rewritten (and improved) in overriding
rcvs.cvapplier
method.
The main features of the new rcvs.cvapplier
method are:
- apply a workflow of CVIP methods over the raster images through appropriate redirection/reformatting of input/output block of data as it deals with all the array format conversions necessary for 'communication' between the different CVIP modules used,
- process blocks in parallel through a map/reduce (namely:
apply_async
/reduce
) like schema as it supports block and CPU multiprocessing, - return or write multiple outputs.
Note that from version 1.2, parallel implementation has also been incorporated
(using either multiprocessing
or mpi
module) in RIOS
.
Examples
As to demonstrate how to reproduce some of the standard/simple CVIP processing workflows, some examples provided by CVIP platforms have been adapted using RCVS, namely:
- RANSAC matching with
skimage
methods, - SLIC segmentation with
skimage
methods, - pyramid decomposition with
OpenCV
methods, - template matching with
OpenCV
methods,
as well as some independent implementations:
- image cross-correlation.
Dependencies
require: gdal
, rios
, numpy
, scipy
, Queue
, multiprocessing
, math
, re
, inspect
, operator
, itertools
, collections
optional: cv2
, skimage
, PIL
, matplotlib
, vigra
, mahotas
, pathos
About
version | 1.0 (non-active development) |
since | Fri May 31 10:20:51 2013 |
license | EUPL (cite the source code or the report below!) |
- Grazzini J., Lemajic S. and Aastrand P. (2013): External quality control of Pleiades orthoimagery, Publications Office of the European Union, doi:10.2788/97660.
- Bunting P., Clewley D., Lucas R.M., and Gillingham S. (2014): The Remote Sensing and GIS Software Library (RSGISLib), Computers & Geosciences, 62:216-226, doi:10.1016/j.cageo.2013.08.007.