Image processing
Image processing is an essential part of many types of machine learning, such as computer vision (CV), so it is essential that we show you a few of the options and their possibilities here. These range from image-only libraries to libraries that have full machine learning capabilities while also supporting image inputs.
scikit-image
The scikit-image (skimage
) library is part of the scikit project with the main project being scikit-learn (sklearn
), covered later in this chapter. It offers a range of functions for reading, processing, transforming, and generating images. The library builds on scipy.ndimage
, which provides several image processing options as well.
We need to talk about what an image is in terms of these Python libraries first. In the case of scipy
(and consequently, skimage
), an image is a numpy.ndarray
object with 2 or more dimensions. The conventions are:
- 2D grayscale: Row, column
- 2D color (for example, RGB): Row, column...