scikit-image is an open source Python package, which is suitable for numpy arrays. It implements algorithms and practical tools for research, education and industrial applications. Even for those who are new to the Python ecosystem, it is a fairly simple and direct library. This code is written by an active volunteer community, which is of high quality and peer review.
2.Numpy
Numpy is one of the core libraries of Python programming and provides support for arrays. An image is essentially a standard Numpy array containing pixels of data points. Therefore, we can modify the pixel value of an image by using basic NumPy operations, such as slicing, masking and fancy indexing. You can use skimage to load images and use matplotlib to display images.
3.Scipy
scipy is another core science module similar to Numpy in Python, which can be used for basic image manipulation and processing tasks. In particular, the submodule scipy.ndimage provides functions that operate on n-dimensional NumPy arrays. At present, the package includes linear and nonlinear filtering, binary morphology, B-spline interpolation and object measurement.
4. PIL/Pillow
PIL is a free library of Python programming language, which supports opening, manipulating and saving images in many different file formats. However, with the last release in 29, its development stagnated. Fortunately, there is also Pillow, a branch of PIL that is actively developed and easier to install. It can run on all major operating systems and support Python3. This library contains basic image processing functions, including point operation, filtering using a set of built-in convolution kernels and color space conversion.
5.OpenCV-Python
OpenCV is one of the most widely used libraries in computer vision applications
. OpenCV-Python is the python version of opencv API. The advantage of OpenCV-Python is not only high efficiency, but also that its internal components are written in C/C++, and it is easy to write and deploy. This makes it a good choice for executing compute-intensive computer vision programs.
6.SimpleCV
SimpleCV is also an open source framework for building computer vision applications. With it, you can access several high-performance computer vision libraries, such as OpenCV, and you don't need to learn bit depth, file format, color space, etc. Its learning curve is much smaller than OpenCV, as their slogan says, "Computer vision becomes simple".
7.Mahotas
Mahotas is another Python library for computer vision and image processing. It includes traditional image processing functions such as filtering and morphological operation and more modern computer vision functions for feature calculation, including interest point detection and local descriptors. The interface is Python language, which is suitable for rapid development, but the algorithm is implemented in C language and optimized according to the speed. Mahotas library is fast, concise and even has the least dependence.
8. Simpletk
ITK or Insight Segmentation and Registration
Toolkit is an open source cross-platform system, which provides developers with a wide range of image analysis software tools
. Among them, SimpleITK is a simplification layer based on ITK, aiming at promoting its application in rapid prototyping design, education and interpretation language. SimpleITK is an image analysis toolkit, which contains a large number of components that support general filtering operations, image segmentation and matching. SimpleITK itself is written in C++, but it is available for most programming languages including Python.
9.pgmagick
pgmagick is a python-based package of the GraphicsMagick library. GraphicsMagick image processing system is sometimes called Swiss Army Knife for image processing. It provides a powerful and efficient collection of tools and libraries, and supports reading, writing and manipulating images in 88 major formats.
1.Pycairo
Pycairo is a set of Python bundles of image processing library cairo. Cairo is a 2D graphics library for drawing vector graphics. Vector graphics are interesting because they don't lose clarity when resizing or converting. Pycairo is a set of bindings for cairo, which can be used to call cairo commands from Python.