2010-10-09 14 views
141

के लिए छवि लाइब्रेरी छवियों में हेरफेर करने के लिए पीआईएल के बजाय पाइथन -3 क्या है?पायथन 3

+0

क्या आपने मीडिया मॉड्यूल की जांच की? (आयात मीडिया) – inspectorG4dget

+0

@ इंस्पेक्टर जी 4 डीजेट: मीडिया पाइथन 3 – banx

+0

की मानक लाइब्रेरी में नहीं है, मुझे नहीं लगता था कि पीआईएल मानक था।लेकिन ऐसा लगता है कि मैं गलत हूं – inspectorG4dget

उत्तर

7

30 मार्च, 2012 तक, मैंने छवियों को खोलने के लिए गिटहब पर स्लूनज़ कांटा पाने की कोशिश की और विफल रहा। मुझे यह ठीक करने के लिए मिला, लेकिन यह वास्तव में काम नहीं किया था। मैंने गोहल्के की लाइब्रेरी बनाने की भी कोशिश की, और यह संकलित भी हुआ लेकिन किसी भी छवि को खोलने में असफल रहा। किसी ने ऊपर PythonMagick का उल्लेख किया है, लेकिन यह केवल विंडोज पर संकलित करता है। PythonMagick on the wxPython wiki देखें।

पीआईएल को अंतिम बार 200 9 में अपडेट किया गया था, और जब यह वेबसाइट कहती है कि वे पाइथन 3 बंदरगाह पर काम कर रहे हैं, तो यह 3 साल हो गया है, और मेलिंग सूची ठंडी हो गई है।

मेरी पायथन 3 छवि मैनिपुलेशन समस्या को हल करने के लिए, मैं ImageMagick खोल आदेश निष्पादित करने के लिए subprocess.call() का उपयोग कर रहा हूं। यह विधि काम करता है।

the subprocess module documentation देखें। http://www.lfd.uci.edu/~gohlke/pythonlibs/

मैं जनहित याचिका के बारे में उनकी संस्करण अजगर 3.2 के साथ करने की कोशिश की, और छवि खुला/बनाएँ/पिक्सेल हेरफेर/सब काम को बचाने:

19

क्रिस्टोफ Gohlke (केवल Windows के लिए) 3.3 अप करने के लिए अजगर संस्करणों के लिए जनहित याचिका का निर्माण करने में कामयाब रहे।

6

आप पाइथन 3 पर अपने पैकेज mahotas का उपयोग कर सकते हैं। यह पीआईएल आधारित के बजाय numpy- आधारित है।

13

क्यूटी ग्राफिक्स के साथ बहुत अच्छी तरह से काम करता है। मेरी राय में यह पीआईएल से अधिक बहुमुखी है।

आपको ग्राफिक्स मैनिपुलेशन के लिए इच्छित सभी सुविधाएं मिलती हैं, लेकिन वेक्टर ग्राफिक्स भी हैं और असली प्रिंटर के लिए भी समर्थन करते हैं। और यह सब एक वर्दी एपीआई में, QPainter

क्यूटी का उपयोग करने के लिए आपको इसके लिए एक पायथन बाध्यकारी की आवश्यकता है: PySide या PyQt4
वे दोनों समर्थन पायथन 3.

यहाँ एक सरल उदाहरण है कि एक JPG छवि को लोड करता है, निर्देशांक पर त्रिज्या के एंटीएलियास चक्र (20, 20) ड्रॉ पिक्सेल कि में था के रंग के साथ यही निर्देशांक और एक 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') 

लेकिन कृपया ध्यान दें कि इस समाधान काफी 'दिग्गज' है, क्योंकि क्यूटी जीयूआई आवेदन करने के लिए एक बड़ा ढांचा है।

91

"दोस्ताना पीआईएल कांटा" Pillow पायथन 2 और 3 पर काम करता है। समर्थन मैट्रिक्स के लिए Github project देखें और इसी तरह।

+2

यह अभी भी [अभी भी सक्रिय रूप से विकसित किया जा रहा है] (https://github.com/python-pillow/Pillow/releases) अक्टूबर 2014 के लिए, [एक अच्छा दस्तावेज़ है] (http://pillow.readthedocs.org/index। एचटीएमएल), आप 'pip3 इंस्टॉल छवि' (मैं बिना पूछे तक तकिया का उपयोग कर रहा था), और [आप पीआईएल आयात छवि से '] (http://pillow.readthedocs.org/en/latest/handbook/tutorial.html) । यह अब [सभी प्रमुख प्लेटफ़ॉर्म] का समर्थन करता है (http://pillow.readthedocs.org/en/latest/installation.html#platform-support) अब। पाइथन 3 के लिए पीआईएल की तलाश करते समय, यह निश्चित रूप से पसंद है। – Yosh

4

आप Pillow पुस्तकालय चाहते है, तो यहां अजगर 3 पर यह स्थापित करने के लिए है:

pip3 install Pillow 

है कि आप के लिए काम नहीं करता है (यह होना चाहिए), कोशिश सामान्य pip:

pip install Pillow