問題タブ [iptc]
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 - Python 経由で .dng (rawfiles) の EXIF/IPTC 情報を変更しますか?
Adobe RAW ファイル (.dng) の EXIF および IPTC データを変更できる Python モジュールまたはライブラリを知っている人はいますか? 8 年ほど前までは JPEG を使用していましたが、Python の助けを借りて、このような変更を比較的簡単に行うことができました。RAW に切り替えた後、画像ツールを使用して EXIF 情報を変更する必要があります。
主に EXIF Taken の日付を変更することに関心がありますが、一部の IPTC フィールドも変更の候補です。
(私はカメラから写真にジオタグを付けていますが、それぞれのカメラにはさまざまな方向と量に忍び寄る RTC があります。私の「最悪の」カメラは 1 日あたり約 2.4 秒「急いで」います。写真の日付を GPS ロガーの .gpx データと照合する前に、 cameraclocksetting からの日数に応じて、さまざまな量で撮影日を変更する必要があります。)
bash - Apple タグ (Mavericks タグ) を IPTC の「キーワード」メタデータにエクスポートする Bash スクリプト (「Tag」と「ExifTool」を使用)
私の最終的な解決策:
次のスクリプト (damienfrancois の回答から変更) を「photos.sh」などのファイルに保存します。
次のようにして、スクリプトを実行可能にすることを忘れないでください
「Tag by JDBerry」をインストールし、「ExifTool by Phil Harvey」もインストールします。ターミナルを使用して、選択したディレクトリに移動します。このディレクトリには、「.jpg」、「.JPG」、「.tif」、および「.JPEG」ファイルのみを含める必要があります。スクリプトはルート ディレクトリを再帰的に繰り返しますが、他のファイル タイプは変更しません。成功した出力は次のようになります。
スクリプトは、元のファイルのコピーを「img.jpg_original」として保持します。すべての Apple タグは、最終ファイル「img.jpg」から削除されます。すべてが機能したことを確認したら、「_original」ファイルを忘れずに削除してください (私は Spotlight を使用しました)。
私の元の質問:
私は rysnc や ssh などのタスクに OS X のターミナルを頻繁に使用しますが、まだ bash スクリプトの完全な初心者です。クライアントには、OS X タグを使用してタグ付けされた大量の画像があります。これらのタグを IPTC メタデータに追加する必要があります。
これまでのところ、「Tag by JDBerry」を使用して次のことができました。
Phil Harvey による ExifTool を使用して、次のことも実行できました。
喜んで私を助けてくれる Bash Scripting の専門家はいますか? 私は次のようなことを考えていました(疑似コードで書かれています):
java - エンティティなしでUTF-8を使用してImageMagickを使用してIPTCを抽出します
ITPC データを含むイメージがあり、次のコマンドを使用して IPTC をテキスト データとして抽出します。
問題は、これが「特殊文字」にエンティティを使用しているように見えることです:
実際には、ここでは「für」のはずです。しかし、正しいエンティティを取得する代わりに ü 「ü」文字の場合、2 つのエンティティを取得します (おそらく、UTF-8 でエンコードされた文字の両方のバイトが分離されたエンティティに変換されます)。そして、これらの 2 つのエンティティを正しく解析できません。
正しいエンティティを取得する方法、または UTF-8 文字を完全に返すエンティティを無効にする方法はありますか?
編集: Java で StringEscapeUtils.unescapeXml を使用してエンティティを解析しようとしましたが、両方のエンティティがエスケープされていないため、「ü」ではなく 2 文字 (「ü」) が取得されます。
Edit2: サンプル画像はこちら: http://fs1.directupload.net/images/150615/5eiv6wwf.jpg