TLDR को सहेजने का उपयोग करना; मैं एक टीआईएफएफ लेने, इसे आकार देने की कोशिश कर रहा हूं, फिर इसे सहेज रहा हूं। हालांकि यह एक त्रुटि देता है। यह ठीक काम करता है अगर मैं सहेजी गई फ़ाइल प्रकार को पीएनजी या जेपीजी में बदलता हूं।पीआईएल संशोधित करने और फिर टीआईएफएफ रिटर्न त्रुटि
सिस्टम: विंडोज 7 पायथन 3.4 और 2.7 दोनों का उपयोग करने का प्रयास किया।
कोड:
from PIL import Image
try: #test file exists
im = Image.open(r"c:\temp\file.tif")
except:
print("Error opening image")
multiply = 5 #how much bigger
processing = tuple([multiply*x for x in im.size]) #maths
saved = (r"c:\temp\biggerfile.tif") #save location
imB = im.resize((processing)) #resizing
imB.save(saved) #saving
मैं क्योंकि मैं Tesseract-ओसीआर उपयोग कर रहा हूँ, और छवि का आकार बदलने के लिए एक बेहतर उत्पादन प्राप्त करने के लिए एक TIFF आकार बदलना होगा। कार्यक्रम एक टीआईएफएफ के साथ सबसे अच्छा काम करता प्रतीत होता है।
त्रुटि मैं प्राप्त है:
_TIFFVSetField: c:\temp\biggerfile.tif: Bad value 2 for "ExtraSamples" tag.
Traceback (most recent call last):
File "step1.py", line 15, in <module>
imB.save(saved)
File "C:\Python34\lib\site-packages\PIL\Image.py", line 1684, in save
save_handler(self, fp, filename)
File "C:\Python34\lib\site-packages\PIL\TiffImagePlugin.py", line 1185, in _save
e = Image._getencoder(im.mode, 'libtiff', a, im.encoderconfig)
File "C:\Python34\lib\site-packages\PIL\Image.py", line 430, in _getencoder
return encoder(mode, *args + extra)
RuntimeError: Error setting from dictionary
धन्यवाद!
यह कोड मेरे लिए काम करता है। केवल एक चीज जिसे मैं सोच सकता हूं या तो आपके पास टिफ के लिए उचित एन्कोडर नहीं है या शायद यह '.tif' पर जा रहा है। क्या आपने इसे अपने फ़ाइल नामों में '.tiff' में बदलने की कोशिश की है? लिनक्स पर यह '.tif' के साथ ठीक है, लेकिन आप कभी नहीं जानते। जब आप सहेजते हैं तो त्रुटि उत्पन्न होती है, और '_getencoder' नामक एक विधि अमान्य डेटा वापस करने का प्रयास कर रही है, इसलिए मुझे लगता है कि फ़ाइल नाम या एन्कोडर के साथ इसका कुछ संबंध है। – DuckPuncher
मैं इसे विंडोज़ पर कर रहा हूं, लेकिन मैंने 3.4 और 2.7 दोनों की कोशिश की है। मैंने एक्सटेंशन और "टीआईएफ" के बिना .tiff और फ़ाइल नाम का उपयोग करने का प्रयास किया है। – Gaudard
मुझे लगता है कि त्रुटि [असंबद्ध अल्फा डेटा] (http://www.awaresystems.be/imaging/tiff/tifftags/extrasamples.html) को इंगित करती है। क्या पीआईएल एक टीआईएफ के रूप में लोड (आकार बदलने से पहले) छवि को फिर से सहेज सकता है? हो सकता है कि आप इस डेटा से छुटकारा पाने की कोशिश करें जो पीआईएल की यात्रा करता है। –