3

説明と「キーワード」を含む TIFF ファイルが多数あります (OS X では、ファイル インスペクターで用語として使用されます)。ただし、画像からこのメタデータを収集するのは困難です。

tifffile.pyPILの exif コマンド、およびIPTCInfoを使用してみましたが、 tifffile.pyは説明取得しますが、これらのライブラリのいずれかを使用してファイルから「キーワード」を解析できないようです。

キーワードは、JPEG とは異なる TIFF の「仕様」を使用して保存されますか? これらのキーワードを解析する最善の方法は何でしょうか?

編集

からのコメントabarnertに加えて、TIFF ファイルの 1 つをテキスト エディターで開いたところ、「キーワード」を含む XML データがあることがわかりました。以下のスニペット:

...
<rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:description>
<rdf:Alt>
 <rdf:li xml:lang="x-default">OLYMPUS DIGITAL CAMERA</rdf:li>
</rdf:Alt>
</dc:description>
<dc:format>image/tiff</dc:format>
<dc:subject>
<rdf:Bag>
 <rdf:li>Foo</rdf:li>
 <rdf:li>Bar</rdf:li>
 <rdf:li>A long keyword</rdf:li>
</rdf:Bag>
</dc:subject>
</rdf:Description>
...

これはバイナリ表現として格納できるように見えます。tifffile.py には、本質的に整数のタプルである多数のタグがリストされています。ただし、これを変換する方法がわかりません。提案?

4

1 に答える 1

2

キーワードは、JPEGとは異なるTIFFの「仕様」を使用して保存されていますか?

まあ、それは異なります。

TIFFコンテナには、非常に限られたメタデータタグのセットしかなく、任意のキーワードを指定する方法はありません。

JPEGはコンテナタイプではありません。これは画像圧縮コーデックであり、TIFFを含むさまざまなコンテナで使用できます。ただし、通常、「JPEGファイル」とは、JPEGグループによって指定されたコンテナ形式の1つであるJFIFを意味し、TIFFと同様に、JFIFには非常に限られたメタデータタグのセットがあります。

Exifは、構造に関してはTIFFと同じ別のコンテナ形式ですが、メタデータ用に明示的に新しいタグを定義します。つまり、TIFFをExifとして簡単にラップでき、それでも合法的なTIFFであり、少しこっそりとできます。また、JFIFをExifとしてラップすることもできますが、これは合法的なJFIFではありませんが、ほとんどすべてのソフトウェアがJFIFを受け入れます。

ExifはメタデータをJFIFに追加する唯一の一般的な方法です(DCFはカウントされません。これは基本的にExifと同じです)が、メタデータをTIFFに追加する複数の異なる方法の1つです。IPTCは、XMP、OME、およびおそらく他の多くのものと同様に、もう1つです。

そのため、一部のTIFFファイルは、JFIF-wrapped-in-Exifと同じ仕様を使用して「キーワード」を格納しますが、そうでないものもあります。

これらのキーワードを解析するための最良のアプローチは何でしょうか?

さて、あなたはそれらがどのフォーマットで保存されているかを知る必要があります。

言うまでもなく、PILのexifコマンドはExifのみをサポートし、IPTCInfoはIPTCのみをサポートし、tifffileは主に…まあ、さまざまなものをサポートします。

tifffile.pyは、不明なタグタイプを保存できると思います。これは生のバイナリデータであり、繰り返し処理して、不足しているものを確認できます。これは、少なくともTIFFコンテナ構造を使用するすべての拡張機能をカバーします。そこにキーワードが見つからない場合は、少なくとも、多くの一般的な形式が除外されます。

とにかく、探しているフォーマットがわかれば、それを処理できるライブラリを探すことができます。(または、XMLベースのものの場合は、タグをtifffileを使用してバイナリデータとして読み取り、それをUTF-8 XMLとして解析します。これは、別のライブラリを見つけるよりもおそらく簡単です。)

于 2012-07-03T17:54:31.373 に答える