web-dev-qa-db-ja.com

exifgps情報をある画像から別の画像に転送する

Gps exif情報を写真に挿入するカメラ(携帯電話ではありません)を持っています。

事実は次のとおりです。「gpson」を常に使用すると、バッテリーが消耗します。だから私は考えました:GPSをオンにして1枚の写真を撮ると、自宅でこのexif情報を他の人に追加するのはどうですか?

このシナリオで役立つことがわかっているアプリケーションがあるかどうかを知りたいと思います。gpsに関するexif情報を含む写真を用意し、この同じgps情報を別の写真のバッチにコピーします。

(私はLinux/Macソリューションが好きですが、Windowsも受け入れます。コマンドラインアプリケーションでもかまいません。)

ExifTool を見てください。これは、Exif情報操作のスイスアーミーナイフであり、他の多くのことの中でも、必要なことを実行できます。これは、Windows/Linux/Mac互換のコマンドラインツールであり、Perlモジュールでもあります。無料でオープンソース:

「-tagsFromFile」オプション

特別なExifToolオプションを使用すると、あるファイルから別のファイルにタグをコピーできます。これを行うためのコマンドライン構文は「-tagsFromFileSRCFILE」です。コマンドラインでこのオプションの後に指定されたタグはすべて、ソースファイルから抽出され、宛先ファイルに書き込まれます。タグが指定されていない場合、書き込み可能なすべてのタグがコピーされます。このオプションは非常にシンプルですが、非常に強力です。ソースファイルと宛先ファイルの形式によっては、読み取られたタグの一部が宛先ファイルで有効でない場合があります。その場合、タグは書き込まれません。

次のコマンドは、現在のディレクトリとその子にあるすべてのファイルを(再帰的に)変更し、ファイルからすべてのGPS関連タグをコピーしますSOURCE.JPG

exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps:all。

これを行う別の方法は、以下をスクリプトに入れることです。渡される最初のパラメーターはGPS座標をコピーするファイルであり、他のすべてのパラメーターは更新されるターゲットファイルです。

#!/usr/bin/env bash
lon=$(exiftool -s3 -GPSLongitude "$1")
lat=$(exiftool -s3 -GPSLatitude "$1")
exiftool -GPSLongitude="$lon" -GPSLatitude="$lat" "${@:2}"
13
haimg

Exiv2を使用することもできます。これははるかに高速で、たとえば、exifデータをwebp画像(およびその他)に書き込むことができます。

exiv2 -PkV --grep GPSL source.jpg | exiv2 -m- destination.webp

これは exiv2 board の例です。

0