0

画像を処理し、GIF画像から拡張子「.tif」のTIFF形式に変換して保存する、私が取り組んでいるpythonスクリプトがあります...

スクリプトは正常に動作し、適切な出力が得られます..

ただし、Py2exeを使用してexeに変換すると(Cx-Freezeを試しても)、処理された画像をTIFF形式で保存できません...次のエラーがスローされます:

ファイル "PIL\Image.pyc"、行 1423、保存 KeyError: '.tif'

画像を保存するためのコードは次のようになります。

im_orig = Image.open(path1)
big = im_orig.resize((116, 56), Image.NEAREST)
ext = ".tif"
new=path.replace('.','') 
newpath=new+"input-NEAREST"+ext
newimage=big.save(newpath)

キーエラーを回避するために、上記のコードを次のように変更してみました

im_orig = Image.open(path1)
big = im_orig.resize((116, 56), Image.NEAREST)
new=path.replace('.','') 
newpath=new+"input-NEAREST.tif"
newimage=big.save(newpath, "TIFF" )

変更されたコードは、スクリプトとして実行すると、再び完全に正常に動作します。

しかし、スクリプトを実行可能ファイルとして実行するとエラーがスローされます!

私が得るエラーは次のとおりです。

\PIL\Image.py", line 1429, in save
save_handler = SAVE[string.upper(format)] # unknown format
KeyError: 'TIFF'

どうやらエラーは次の行にあるはずです。

newimage=big.save(newpath, "TIFF" )

この問題を解決するための助けやガイダンスを本当に感謝します.

4

2 に答える 2

1

この問題は、PILでのイメージプラグインの初期化の遅延に関連していると思います。コンパイルされると、これらのプラグインを見つけることができません。解決策は、必要なプラグインを手動でインポートすることです。だからあなたが必要とするのは

import TiffImagePlugin
于 2012-07-11T15:56:55.773 に答える