2015-03-05 8 views
9

Kann mir jemand helfen .TIFF Bild und konvertiert in JPEG-Format zu lesen?Umwandlung TIFF JPEG in Python

from PIL import Image 
im = Image.open('test.tiff') 
im.save('test.jpeg') 

Der obige Code funktionierte nicht.

+0

Hey es funktioniert und es sollte funktionieren! Sehen Sie sich diese Geige: [link] (http://goo.gl/1dMJic) –

+0

Sorry, ich habe ein Problem mit der Tiff-Datei zu lesen. Dank –

Antwort

9

Ich habe das Problem erfolgreich gelöst. Ich stellte den Code, um die TIFF-Dateien in einem Ordner zu lesen und automatisch in JPEG umwandeln.

import os 
from PIL import Image 

yourpath = os.getcwd() 
for root, dirs, files in os.walk(yourpath, topdown=False): 
    for name in files: 
     print(os.path.join(root, name)) 
     if os.path.splitext(os.path.join(root, name))[1].lower() == ".tiff": 
      if os.path.isfile(os.path.splitext(os.path.join(root, name))[0] + ".jpg"): 
       print "A jpeg file already exists for %s" % name 
      # If a jpeg is *NOT* present, create one from the tiff. 
      else: 
       outfile = os.path.splitext(os.path.join(root, name))[0] + ".jpg" 
       try: 
        im = Image.open(os.path.join(root, name)) 
        print "Generating jpeg for %s" % name 
        im.thumbnail(im.size) 
        im.save(outfile, "JPEG", quality=100) 
       except Exception, e: 
        print e 
+0

perfekt, danke! –

1

import os, sys von PIL Import Bild Ich habe versucht direkt zu JPEG speichern aber der Fehler angezeigt, dass der Modus war P und uncompatible mit JPEG-Format, so dass Sie es in dem RGB-Modus wie folgt zu konvertieren.

for infile in os.listdir("./"): 
    print "file : " + infile 
    if infile[-3:] == "tif" or infile[-3:] == "bmp" : 
     # print "is tif or bmp" 
     outfile = infile[:-3] + "jpeg" 
     im = Image.open(infile) 
     print "new filename : " + outfile 
     out = im.convert("RGB") 
     out.save(outfile, "JPEG", quality=90)