問題タブ [pyexiv2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 変更されたサブジェクト データの XMP ファイルへの書き込みに失敗する (pyexiv2 を使用)
写真編集者が私の写真の多くのタグを台無しにしてしまいました。私はこれを、Python に慣れ、タグをきれいにするためのスクリプトを書くための最後の一押しと考えました。pyexiv2 が非常に便利であることがわかり、基本的にチュートリアル ( http://tilloy.net/dev/pyexiv2/tutorial.html ) に従おうとしました。
私がやろうとしていること:
- XMP ファイルから元のデータを解析します (注意: メタデータを写真ファイルに直接書き込む代わりに、サイドカー ファイルを使用します)。
- Xmp.dc.subject から元のタグを読み取ります (デバッグのために stdout に出力します)。
- タグを新しい値に変更します (デバッグ用に新しい値を出力します)。
- 新しいデータを XMP ファイルに書き戻します
エディターで XMP ファイルをチェックするまでは、かなりうまくいっているように見えます。変更された値は表示されません。ただし、XMP ファイルは新しいタイムスタンプを取得し、XMP ファイルを読み取り専用にすると、エラー メッセージが表示されます。そのため、何かがファイルに書き込まれるようです。正しいデータではありません。
私の問題を示す最小限のスクリプトを次に示します。
その出力は次のとおりです。
ただし、XMP ファイルの関連セクションは次のようになります。
では、変更されたメタデータを XMP ファイルに書き込むにはどうすればよいでしょうか?
私は Python の完全な初心者 (ただし、プログラミングの初心者) であるため、この問題は、私が認識していない些細なことが原因である可能性があることに注意してください。Debian Linux で Python 2.7.6 を実行しています。
python - Python の EXIF 情報 - libexif
PythonでJPEGファイルからexif情報を読み取るためにpyexiv2を使用してきましたが、特に1つのタグ- ExposureTime -が別のexifライブラリであるlibexifと同じようにexiv2によって報告されていないことに気付きました。
私が試した exiv2 ベースのユーティリティはどれも、露出時間タグを 0/1 や 0 などの「有理数」に単純化します。libexif ベースのユーティリティ (特に、ツール「exif」) は、より詳細な「1/-21474836 秒」を報告します。同じタグ、同じ画像。
最初に理解したいのですが、この違いの原因は何ですか? 後者の方が正しいと思います。
第二に、libexif によって報告されたより詳細なタグが正しいと仮定すると、Python でこの値を取得できるようにしたいと考えています。 (例: pyexiv2)。検討していないツールや方法はありますか?
この以前に回答された質問に記載されているように、Pythonでctypesを使用してlibexif Cライブラリを使用する1つの潜在的な解決策に出くわしましたが、これを行う方法の例は見つかりませんでした。
どんな助けでも大歓迎です。ありがとう!
image - Exif 画像の向き
pyexiv2を使用してPythonでアクセスしているジオタグ付きの写真がたくさんあります。「GPSImgDirection」値が何を与えているのか理解できないことを除けば、うまく機能しています。基本的に、これは 2 つの非常に大きな数です。次に例を示します。
2147483647/8613474
どういう意味ですか?「合理的な」データ型だと思います。どういう意味ですか?「北から東へ 5 度」のように、数値を人々が理解できるようにするにはどうすればよいでしょうか。
ありがとう!アレックス
python - pyexiv2 - XMP および ITPC タグを空にしますか?
Windows 7 で Python 2.7 および pyexiv2 を使用して、画像の exif、XMP、および ITPC タグを操作しようとしています。exif タグのリストを取得できますが、何らかの理由で、これらのタグが含まれているにもかかわらず、XMP および ITPC リストが空に戻ってきます。私のテスト画像に存在します(少なくともここに示されているマッピングによると。他の誰かがこの問題に遭遇し、それを解決できましたか?フィードバックに感謝します!
コード:
exif - EXIF の著作権情報を含むフィールドはどれですか?
gexiv2 を使用して画像に著作権情報を追加するにはどうすればよいですか? これを読みましたが、編集する必要があるフィールドが見つかりませんでした。
python - Pyexiv2 と PIL ファイルのブロック
メタデータを jpg 画像に保存し、Wordpress 用にサイズ変更するスクリプトを作成しています。PIL.Image.thumbnail()でjpg(pngではなく)のサイズを変更した直後に画像で使用しようとするまで、jpegとpngを使用してうまくいきます
質問への回答を手伝ってくれる人を助けるために、すべてを 1 つの読みやすいクラスに圧縮しようとしました。主なクラスは MetaGator (meta mitigator) で、属性「タイトル」と「説明」をファイルの適切なメタデータ フィールドに書き込みます。
テストに使用したコードはメインにあり、次の出力が得られます。
ご覧のとおり、JPG テストでは、通常のファイルでは正常に機能しますが、PIL が画像のサイズを変更した後はまったく機能しません。これは、PIL を使用してメタデータを保存する .PNG では発生しないため、pyexiv2 が問題であることが示唆されます。
何を試すべきですか?どんな提案も役に立ちます。
ありがとうございました。
python - pyexiv2 get image exif、from_buffer 関数がメモリ リークを引き起こす
私はpyexiv2ライブラリを使用して画像のexif情報を読み取ります。画像が完全でない場合、ImageMetadata.from_buffer()メソッドがメモリリークを引き起こすことがわかりました。しかし、ImageMetadata() メソッドは問題ありません。
以下のコードは私のテストコードです。画像ではないファイルから読み取らせると、メモリが解放されていないことがわかります。