5

Python で XMP を使用して一連の画像にタグを付ける場合、どのような方法が最適でしょうか? 私は Perl のImage::ExifToolを使用しており、その信頼性には非常に慣れています。つまり、何万もの画像でブリックされたことはありません。

欧州宇宙機関のような有力者の支援を受けてこれを見つけましたが、明らかに不安定であるとマークされています

さて、私が C++ に慣れていると仮定すると、Python でAdob​​e XMP ツールキットを直接使用するのはどれくらい簡単でしょうか? これまでにこれを行ったことがないので、何にサインアップすればよいかわかりません。

更新:いくつかのライブラリを試してみましたが、前述のツールキットを含め、それらはまだかなり未熟で、明らかな問題があります。私は、実戦でテスト済みの Image::EXIF を使用して、メタデータの読み取りと書き込みを行う XML 要求を受け入れる Perl ベースのサーバーを実際に作成することにしました。実際、コードの量は非常に少なく、Python ライブラリーを動作させるために自分を苦しめるよりはましです。サーバー ソリューションは言語にとらわれないため、2 つの問題があります。

4

5 に答える 5

4

私は python-xmp-toolkit で数時間苦労しましたが、最終的にあきらめてExifToolへの呼び出しをラップしました。

ExifTool をラップする Ruby ライブラリもあります (ただし、私が作成したものよりははるかに優れています)。XMP を扱う簡単な方法として、Python に移植する価値があると思います。

于 2010-09-13T07:52:36.263 に答える
4

彼らのウェブサイトによると、python-xmp-toolkit は Adob​​e XMP ツールキットに基づく Exempi を ctypes 経由で使用します。私が言おうとしているのは、C++ コードのより良いラッピングを自分で作成する可能性は低いということです。不安定な場合 (つまり、バグがある場合) は、自分でゼロからパッチを作成するよりも、パッチを作成する方が安価である可能性が高くなります。

ただし、特別な状況では、必要な機能の量によって異なります。必要な関数が 1 つだけの場合は、C++ コードを小さな C 拡張ライブラリにラップするか、Cython を使用してラップすることができます。すべての機能と柔軟性が必要な場合は、ラッパーを手動で作成するか、SWIG を使用して、基本的に他の人が既に行った作業を繰り返す必要があります。

于 2009-02-01T16:44:56.247 に答える
0

ImageMagic変換を使用できます。IIRCにはPythonモジュールもあります。

于 2009-02-04T04:21:00.897 に答える