104 votos

Biblioteca de imágenes para Python 3

¿Cuál es python-3 utilizando en lugar de PIL para la manipulación de imágenes?

51voto

Janus Troelsen Puntos 5121

El "tenedor PIL amigable" Almohada trabaja en Python 2 y 3. Revise el proyecto Github para matriz de soporte y así sucesivamente.

17voto

xob Puntos 131

Christoph Gohlke logró construir PIL (sólo para Windows) para las versiones de python hasta 3,3: http://www.lfd.uci.edu/~gohlke/pythonlibs/

Traté de su versión de PIL con Python 3.2, y la imagen de apertura / crear manipulación / pixel / guarde todos los trabajos.

10voto

Oleh Prypin Puntos 9086

Qt funciona muy bien con los gráficos. En mi opinión es más versátil que el PIL.

Usted obtiene todas las características que desea para los gráficos de la manipulación, pero también hay gráficos vectoriales e incluso el soporte para real impresoras. Y todas en un uniforme de la API, QPainter.

El uso de Qt necesita una pasarela de Python: PySide o PyQt4.
Que tanto el apoyo de Python 3.

Aquí está un ejemplo sencillo que carga una imagen JPG, se dibuja un antialias círculo de radio 10 en las coordenadas (20, 20) con el color del píxel que fue en esas coordenadas y guarda la imagen modificada como un archivo PNG:

from PySide.QtCore import *
from PySide.QtGui import *

app = QCoreApplication([])

img = QImage('input.jpg')

g = QPainter(img)
g.setRenderHint(QPainter.Antialiasing)
g.setBrush(QColor(img.pixel(20, 20)))
g.drawEllipse(QPoint(20, 20), 10, 10)
g.end()

img.save('output.png')

Pero, por favor, tenga en cuenta que esta solución es bastante 'peso pesado', porque Qt es un gran marco para la toma de aplicaciones GUI.

6voto

s0mebody Puntos 51

Como de 30 de Marzo de 2012, he intentado y no ha podido obtener la sloonz tenedor en GitHub para abrir imágenes. Lo tengo a compilar aceptar, pero en realidad no funciona. También he intentado con la construcción de gohlke de la biblioteca, y se compila, pero no se pudo abrir alguna de las imágenes. Alguien mencionó PythonMagick anterior, pero no sólo compila en Windows. Ver PythonMagick en el wxPython wiki.

PIL fue actualizada por última vez en 2009, y aunque el sitio dice que están trabajando en una serpiente Pitón de 3 puertos, ha sido 3 años, y la lista de correo se ha quedado fría.

Para resolver mi Python 3 manipulación de la imagen de problema, estoy utilizando subprocess.call() para ejecutar ImageMagick comandos de la shell. Este método funciona.

Consulte la documentación del módulo subprocess.

4voto

luispedro Puntos 3266

Puedes usar mi paquete Mahotas en Python 3. Es basada numpy en lugar de basarse PIL.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: