web-dev-qa-db-ja.com

pythonでtiffをjpegに変換する

誰もが.tiff画像を読んでjpeg形式に変換するのを手伝ってくれますか?

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

上記のコードは機能していませんでした。

14

問題を解決しました。フォルダー内のtiffファイルを読み取り、自動的にjpegに変換するコードを投稿しました。

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
16
import os, sys
from PIL import Image

Jpegに直接保存しようとしましたが、エラーはモードがPでJPEG形式と互換性がないことを示したため、次のようにRGBモードに変換する必要があります。

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)
3
user2019716