Recientemente me encontré con un problema que requiere al menos un grado básico de procesamiento de imágenes, ¿puedo hacer esto en Python y, de ser así, con qué?
Respuestas:
La biblioteca más conocida es PIL . Sin embargo, si simplemente está haciendo una manipulación básica, probablemente esté mejor con los enlaces de Python para ImageMagick , que serán mucho más eficaces que escribir las transformaciones en Python.
Dependiendo de lo que quiera decir con "procesamiento de imágenes", una mejor opción podría estar en las bibliotecas basadas en numpy: mahotas , scikits.image o scipy.ndimage . Todos estos funcionan basados en matrices numpy, por lo que puede mezclar y combinar funciones de una biblioteca y otra.
Comencé el sitio web http://pythonvision.org que tiene más información sobre estos.
scikit-image
ahora está alojado en scikit-image.org
scipy.ndimage
el enlace está muerto. Enlace actual, muy probablemente: scipy.github.io/devdocs/tutorial/ndimage.html
También tiene un enfoque para el procesamiento de imágenes basado en módulos científicos "estándar": SciPy tiene un paquete completo dedicado al procesamiento de imágenes: scipy.ndimage . Scipy es, en efecto, el paquete estándar de cálculos numéricos generales; se basa en el módulo de manipulación de matrices estándar de facto NumPy : las imágenes también se pueden manipular como matriz de números. En cuanto a la visualización de imágenes, Matplotlib (también parte de la "trilogía científica") hace que la visualización de imágenes sea bastante simple .
SciPy todavía se mantiene activamente, por lo que es una buena inversión para el futuro. Además, SciPy actualmente también se ejecuta con Python 3, mientras que la Biblioteca de imágenes de Python (PIL) no.
import scipy
sin instalar PIL ( import Image
falla con ImportError
).
Para completar la lista: opencv http://opencv.willowgarage.com/documentation/python/index.html
En realidad, existe una maravillosa biblioteca de imágenes de Python (PIL) . Le brinda la capacidad de alterar imágenes existentes, incluidas las capacidades de suavizado, y crear nuevas imágenes con texto y demás. También puede encontrar un tutorial introductorio decente en el manual de PIL que se proporciona en el sitio mencionado anteriormente.
Si está creando un efecto de procesamiento de imágenes personalizado, puede que PythonPixels le resulte útil. http://halfhourhacks.blogspot.com/2008/03/pythonpixels.html Está diseñado para escribir y experimentar con el procesamiento de imágenes.
VIPS debe ser rápido y utilizar varias CPU:
https://github.com/libvips/libvips/wiki/Speed-and-memory-use