Recientemente me he encontrado con un problema que requiere al menos un grado básico de procesamiento de imagen, ¿puedo hacerlo en Python y, de ser así, con qué?Procesamiento de imágenes, en Python?
Respuesta
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á mucho más eficiente que escribir las transformaciones en Python.
Creo que tienes eso atrasado: PIL proporciona solo la funcionalidad barebones más básica, pero se integra muy bien a las GUI de Python. La mensajería instantánea es tremendamente más completa, pero requiere un poco de trabajo manual para intercambiar memorias intermedias para integrarlas con una GUI. – SilverbackNet
Digámoslo de esta manera, triste pero ** PIL parece ser abandono-ware ** y ni siquiera carga archivos BMP creados con Paint. Si revisa la página web del proyecto, lo descubrirá, busque el rastreador de errores (ninguno), la actividad de la lista de correo, SCM, ... – sorin
[Pillow] (https://pypi.python.org/pypi/Pillow/ 2.1.0) es una bifurcación de PIL que se está manteniendo y desarrollando. Probablemente sea mejor usarlo en su lugar. –
En realidad, hay un maravilloso Python Imaging Library (PIL). Le da la capacidad de alterar las imágenes existentes, incluidas las capacidades de anti-aliasing, y crear nuevas imágenes con texto y tal. También puede encontrar un decent introductory tutorial en el manual de PIL proporcionado en el sitio mencionado anteriormente.
¿Utilizaste Google antes de hacer esta pregunta? :-) No estoy diciendo que debas_, solo que parece un poco gracioso responder tu propia pregunta en menos de un minuto. –
La idea general de este sitio es proporcionar pares de (preguntas y respuestas) que servirán como información útil para alguien que esté buscando el tema. Se recomienda que si descubres algo útil que no conocías antes y que aún no está en el sitio, lo compartas con StackOverflow. – akdom
De las preguntas más frecuentes: También es perfectamente correcto preguntar y responder a su propia pregunta de programación, pero pretenda que está en Jeopardy: formémoslo en forma de pregunta. Aunque, creo que cualquier persona necesitada puede responder fácilmente a esta pregunta a través de una búsqueda en Google ... –
Si está creando un efecto de procesamiento de imágenes personalizado, puede encontrar que PythonPixels es útil. http://halfhourhacks.blogspot.com/2008/03/pythonpixels.html Está destinado a escribir y experimentar con el procesamiento de imágenes.
También hay pycairo, que pueden ser más adecuados según sus necesidades.
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 matriz estándar de facto NumPy: las imágenes también se pueden manipular como una matriz de números. En cuanto a la visualización de imágenes, Matplotlib (también forma parte de la "trilogía de la ciencia") hace que se muestren las imágenes quite 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 funciona.
Para referencia futura, ndimage requiere PIL de todos modos. – notJim
@notJim: ¿verdad? PIL no aparece en las dependencias de SciPy por MacPorts, y puedo hacer 'import scipy' sin instalación PIL (' import Image' falla con 'ImportError'). – EOL
Sí, cuando intenté leer una imagen con ImRead, recibí el error "raise ImportError (" Could not imported the Python Imaging Library (PIL) "" – notJim
Dependiendo de lo que quiere 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 esto.
"The scikits.image SciKit (toolkit para SciPy) extiende scipy.ndimage para proporcionar un conjunto versátil de rutinas de procesamiento de imágenes. "Me pregunto por qué no contribuyeron directamente con ndimage. – endolith
Todos estos paquetes tienen estructuras internas diferentes. Al menos mi paquete, mahotas, tomó una gran cantidad de código de ndimage, sin embargo. – luispedro
'scikit-image' ahora está alojado en http://scikit-image.org –
para completar la lista: OpenCV http://opencv.willowgarage.com/documentation/python/index.html
OpenCV está ahora en http://opencv.org/ – Nianliang
VIPS deben ser rápido y utiliza varias CPU: http://www.vips.ecs.soton.ac.uk/index.php?title=Speed_and_Memory_Use
- 1. Procesamiento de imágenes RAW en Python
- 2. Bibliotecas de procesamiento de imágenes
- 3. Procesamiento de imágenes en Android
- 4. Ideas de procesamiento de imágenes
- 5. Servidor de procesamiento de imágenes
- 6. Programación de procesamiento de imágenes
- 7. Procesamiento de imágenes OpenCV - C++ vs C vs Python
- 8. Bibliotecas de procesamiento de imágenes en C#
- 9. Android: procesamiento de imágenes en tiempo real
- 10. Procesamiento de imágenes en CUDA o OpenCV?
- 11. Procesamiento paralelo en python
- 12. Biblioteca de procesamiento de imágenes para Android?
- 13. Conceptos básicos de procesamiento de imágenes
- 14. Procesamiento de imágenes de alta resolución Android
- 15. MATLAB procesamiento de imágenes de pequeños círculos
- 16. Bibliotecas de procesamiento de imágenes Ruby/Rails
- 17. Depuración del código de procesamiento de imágenes
- 18. biblioteca de procesamiento de imágenes más rápida?
- 19. Mejorando la velocidad de procesamiento de imágenes
- 20. Biblioteca de procesamiento de imágenes más rápido
- 21. Biblioteca de procesamiento de imágenes Haskell?
- 22. Biblioteca de procesamiento de imágenes para D?
- 23. Procesamiento de imagen de imágenes satelitales
- 24. ¿Cómo comienzo con el procesamiento de imágenes?
- 25. Procesamiento de imágenes con la cámara Android
- 26. Android OpenGL procesamiento de imágenes - sin SurfaceView
- 27. Procesamiento de imágenes 2D con WebGL
- 28. Procesamiento de imágenes usando el algoritmo genético
- 29. Procesamiento de imágenes con Objective C
- 30. Procesamiento de imágenes: ¿Qué son las oclusiones?
en tiempo real de procesamiento de imágenes utilizando PyPy: http://morepypy.blogspot.com/2011/07/ realtime-image-processing-in-python.html – Mikhail