2

Ubuntu Server 12.04 64ビットでPillow 2.2.1(pipでインストール)を使用しており、画像のサイズをバッチでjpeg形式に変更しようとしています。また、apt-get を使用して zlib1g-dev と libtiff-dev の両方をインストールしました。

次の行を使用します

   Image.open(path/to/image)

画像ファイル (jpeg および tiff) を開きます。いくつかの tiff 画像を開くことができますが、他の画像では次のエラーが発生します。

   File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 2006, in open
     raise IOError("cannot identify image file")

これは、開こうとするすべての tiff イメージで発生するわけではないため、これらのファイルが破損していることを意味しますか? 問題の画像を Windows フォト ビューアーや GIMP でも問題なく開くことができます。

注:すべての画像はクライアントから提供されたばかりなので、彼がどのように画像をデジタル化したのか(スキャンまたは写真を撮ったのが私の最善の推測です)、またはそれが問題であるかどうかはわかりません.

パッケージまたは依存関係が不足していますか、それとも、表示されていない画像ファイルに関する何かが本当にありますか?

4

1 に答える 1

1

TIFF は単なるコンテナ形式です (ビデオの AVI のように)。ファイル拡張子は、実際には内部の画像データがどのようにエンコードされているかを示しているわけではありません。ほとんどのプロフェッショナルな写真編集アプリケーションは、他のソフトウェアでは読み取れない独自の TIFF を作成します。PIL は、TIFF フレーバーの特定のサブセット (非圧縮など) のみをサポートする場合があります。

システムが Web アップロード スタイルのシステムである場合は、問題を完全に回避するために TIFF 形式の受け入れを停止することをお勧めします。

詳細: http://en.wikipedia.org/wiki/Tagged_Image_File_Format

于 2013-10-25T07:01:57.153 に答える