154 votes

Bibliothèque d’images pour Python 3

Ce qui utilise python-3 au lieu de PIL pour manipuler des Images ?

98voto

Janus Troelsen Points 5121

La « fourchette PIL amicale » oreiller fonctionne sur Python 2 et 3. Découvrez le projet Github pour matrice de support et ainsi de suite.

19voto

xob Points 131

Christoph Gohlke a réussi à construire PIL (pour Windows uniquement) pour les versions de python jusqu'à 3.3 : http://www.lfd.uci.edu/~gohlke/pythonlibs/

J’ai essayé sa version de PIL avec Python 3.2 et ouvrir/créer/pixel image manipulation/enregistrer tous les travaux.

14voto

Oleh Prypin Points 9086

Qt fonctionne très bien avec des graphiques. À mon avis, il est plus polyvalent que PIL.

Vous bénéficiez de toutes les fonctionnalités que vous souhaitez pour la manipulation de graphiques, mais il y a aussi des graphiques vectoriels et de soutien, même pour de vrai imprimantes. Et tout cela dans une API uniforme, QPainter.

L'utilisation de Qt vous avez besoin d'un binding Python pour elle: PySide ou PyQt4.
Deux types de Python 3.

Voici un exemple simple qui charge une image JPG, dessine un anticrénelage de cercle de rayon 10 , au point de coordonnées (20, 20) avec la couleur du pixel qui était à ces coordonnées et enregistre la modification de l'image en tant que fichier 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')

Mais s'il vous plaît noter que cette solution est très "lourd", parce que Qt est un grand cadre pour faire des applications avec interface graphique.

7voto

s0mebody Points 51

En date du 30 Mars 2012, j'ai essayé et échoué à obtenir le sloonz fork sur GitHub pour ouvrir des images. J'ai réussi à compiler ok, mais il n'a pas de travail. J'ai aussi essayé avec la construction de gohlke de la bibliothèque, et compilé aussi mais impossible d'ouvrir les images. Quelqu'un a mentionné PythonMagick ci-dessus, mais il ne compile sous Windows. Voir PythonMagick sur le wxPython wiki.

PIL a été mise à jour en 2009, et, bien que ce site dit qu'ils travaillent sur un Python 3 de port, ça fait 3 ans, et la liste de diffusion a disparu froid.

Pour résoudre mon Python 3 de manipulation d'images de problème, je suis en utilisant subprocess.call() d'exécuter ImageMagick des commandes shell. Cette méthode fonctionne.

Voir le sous-processus module de documentation.

6voto

luispedro Points 3266

Vous pouvez utiliser mon forfait mahotas sur Python 3. Il est basé sur numpy plutôt que PIL basé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X