Mahotas: Computer Vision in Python¶
If you are using mahotas in a scientific publication, please cite:
Coelho, L.P. 2013. Mahotas: Open source software for scriptable computer vision. Journal of Open Research Software 1(1):e3, DOI: http://dx.doi.org/10.5334/jors.ac
Mahotas is a computer vision and image processing library for Python.
It includes many algorithms implemented in C++ for speed while operating in numpy arrays and with a very clean Python interface.
Mahotas currently has over 100 functions for image processing and computer vision and it keeps growing. Some examples of mahotas functionality:
The release schedule is roughly one release every few months and each release brings new functionality and improved performance. The interface is very stable, though, and code written using a version of mahotas from years back will work just fine in the current version, except it will be faster (some interfaces are deprecated and will be removed after a few years, but in the meanwhile, you only get a warning).
Bug reports with test cases typically get fixed in 24 hours.
mahotas-imread is side project which includes code to read/write images to files
This is a simple example of loading a file (called test.jpeg) and calling watershed using above threshold regions as a seed (we use Otsu to define threshold).
import numpy as np import mahotas import pylab img = mahotas.imread('test.jpeg') T_otsu = mahotas.thresholding.otsu(img) seeds,_ = mahotas.label(img > T_otsu) labeled = mahotas.cwatershed(img.max() - img, seeds) pylab.imshow(labeled)
Computing a distance transform is easy too:
import pylab as p import numpy as np import mahotas f = np.ones((256,256), bool) f[200:,240:] = False f[128:144,32:48] = False # f is basically True with the exception of two islands: one in the lower-right # corner, another, middle-left dmap = mahotas.distance(f) p.imshow(dmap) p.show()
Full Documentation Contents¶
Jump to detailed API Documentation
- How To Install Mahotas
- Finding Wally
- Labeled Image Functions
- Wavelet Transforms
- Distance Transform
- Polygon Utitilities
- Local Binary Patterns
- Speeded-Up Robust Features
- Implementing SURF-ref With Mahotas
- Morphological Operators
- Color Space Conversions
- Input/Output with Mahotas
- Tutorial: Classification Using Mahotas
- Tutorial: Extended Depth of Field
- Frequently Asked Questions
- How do I install mahotas with anaconda?
- Who uses mahotas?
- Why did you not simply contribute to
- I ran out of memory computing Haralick features on 16 bit images. Is it not supported?
- What are the parameters to Local Binary Patterns?
- I am using mahotas in a scientific publication, is there a citation?
- Imread cannot find FreeImage
- Mahotas Internals
- The Why of mahotas
- Possible Tasks
- Version 1.4.1 (Dec 20 2015)
- Version 1.4.0 (July 8 2015)
- Version 1.3.0 (April 28 2015)
- Version 1.2.4 (December 23 2014)
- Version 1.2.3 (November 8 2014)
- Version 1.2.2 (October 19 2014)
- Version 1.2.1 (July 21 2014)
- Version 1.2 (July 17 2014)
- Version 1.1.1 (July 4 2014)
- 1.1.0 (February 12 2014)
- 1.0.4 (2013-12-15)
- 1.0.3 (2013-10-06)
- 1.0.2 (July 10 2013)
- 1.0.1 (July 9 2013)
- 1.0 (May 21 2013)
- 0.99 (May 4 2013)
- 0.9.8 (April 22 2013)
- 0.9.7 (February 03 2013)
- 0.9.6 (December 02 2012)
- 0.9.5 (November 05 2012)
- 0.9.4 (October 10 2012)
- 0.9.3 (October 9 2012)
- 0.9.2 (September 1 2012)
- 0.9.1 (August 28 2012)
- 0.9 (July 16 2012)
- 0.8.1 (June 6 2012)
- 0.8 (May 7 2012)
- 0.7.3 (March 14 2012)
- 0.7.2 (February 13 2012)
- 0.7.1 (January 6 2012)
- Full API Documentation