2011-02-17 15 views
13

मैं एक ऐसे फ़ंक्शन को परिभाषित करना चाहता हूं जो छवि को बदलने के लिए छवि कॉल करें।पायथन के साथ ImageMagick का उपयोग करें। (लिनक्स सिस्टम पर)

def convert(filein,fileout): 
#imagemagick>convert filein fileout 

मैं पाइथन के साथ छविमैगिक को कैसे कॉल और उपयोग कर सकता हूं?

मैं एक Linux सिस्टम पर चल रहा हूँ, ImageMagick स्थापित किया गया है, और मैं PIL.module का उपयोग नहीं कर रहा हूँ, क्योंकि यह पीपीएम [पी 3] को संभाल नहीं करता है।

+0

वंड को आज़माएं, http://docs.wand-py.org/en/0.4.1/ –

उत्तर

7

या तो छविमैजिक बाइनरी को कॉल करने के लिए पाइथन (ओएससिस्टम, सबप्रोसेस.पोपेन) के खोल इंटरफेस का उपयोग करें, या PythonMagick को आजमाएं।

+1

धन्यवाद, ओएससिस्टम परिधीय रूप से काम करता है। – Alpagut

3

मैं छवि जादू उपयोग नहीं किया है, लेकिन आप os.system इस्तेमाल कर सकते हैं एक शेल कमांड कॉल करने के लिए:

import os 
os.system('imagemagick-converting-command filein fileout') 

मैं सुझाव है कि आप PythonMagic के साथ जाने के रूप में Creshal कहा। यह ImageMagic द्वारा प्रदान किया जाता है और इस प्रकार पाइथन के लिए उपलब्ध सर्वोत्तम पोर्ट में से एक होना चाहिए।

6

मेरा सुझाव है यू उपप्रक्रिया का उपयोग यह सुरक्षित

import subprocess 
params = ['convert', 'src_file', 'result_file'] 
subprocess.check_call(params) 
+0

अच्छा उत्तर, यह भी लाभ है कि आपको इसे स्मृति में लोड करने की आवश्यकता नहीं है यदि यह पहले से ही डिस्क –

15

अस्वीकरण है: मैं वैंड के लेखक हूँ।

आप आसानी से Wand का उपयोग कर ऐसा कर सकते हैं, पाइथन के लिए ImageMagick का एक सरल बाध्यकारी। उदाहरण के लिए, निम्नलिखित कोड एक JPEG छवि के लिए एक PNG छवि धर्मान्तरित:

from wand.image import Image 

with Image(filename='in.png') as img: 
    img.format = 'jpeg' 
    img.save(filename='out.jpg') 

रूप में अच्छी तरह this tutorial देखें।

+0

पर है, तो क्या आप इसे 300% का आकार बदल सकते हैं, आप फ़्लैटन कैसे जोड़ते हैं, और आप पृष्ठभूमि को कैसे बदलते हैं? – Sekai

संबंधित मुद्दे