Exif GPS bilgilerini bir görüntüden diğerine aktarın


13

Resimlere gps exif bilgisi ekleyen bir kamera (cep telefonu değil) var.

Gerçek şu: "gps on" (sürekli açık) özelliğini kullanmak pili tüketir. Ben de düşündüm: gps ile sadece bir resim çekmeye ne dersiniz ve evde bu exif bilgilerini diğerlerine ekleyin?

Bu senaryoda bana yardımcı olabileceğini bildiğiniz uygulamalar olup olmadığını bilmek istiyorum: gps hakkında exif bilgileri olan bir fotoğrafa sahip olmak, aynı gps bilgilerini başka bir resim grubuna kopyalayın.

(Linux / Mac çözümlerini tercih ederim, ancak pencereleri de kabul ediyorum. Bir komut satırı uygulaması olup olmadığını umursamıyorum.)


Yanıtlar:


13

ExifTool'a bir göz atın . Exif bilgi manipülasyonunun bir İsviçre çakısıdır, diğer şeylerin yanı sıra ihtiyacınız olanı yapabilir. Windows / Linux / Mac uyumlu komut satırı aracı ve bir Perl modülüdür. Ücretsiz ve açık kaynak:

"-TagsFromFile" Seçeneği

Özel bir ExifTool seçeneği, etiketlerin bir dosyadan diğerine kopyalanmasına izin verir. Bunu yapmak için komut satırı sözdizimi "-tagsFromFile SRCFILE" olur. Komut satırında bu seçeneğin ardından belirtilen tüm etiketler kaynak dosyadan çıkarılır ve hedef dosyaya yazılır. Hiçbir etiket belirtilmezse, tüm yazılabilir etiketler kopyalanır. Bu seçenek çok basit, ancak çok güçlü. Kaynak ve hedef dosya biçimlerine bağlı olarak, okunan bazı etiketler hedef dosyada geçerli olmayabilir, bu durumda yazılmazlar.

Aşağıdaki komut, geçerli dizindeki ve alt klasörlerindeki tüm dosyaları (yinelemeli olarak) değiştirerek, GPS ile ilgili tüm etiketleri dosyadan kopyalar SOURCE.JPG:

exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps: tümü.

Bunu yapmanın başka bir yolu da aşağıdakileri bir betiğe koymaktır. Aktarılan ilk parametre, GPS koordinatlarının kopyalanacağı dosya olmalı ve diğer tüm parametreler, güncellenecek hedef dosyalardır:

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

2
jhead , ExifTool'u tamamlayabilen çok faydalı bir başka yardımcı programdır.
MikeyB

1
@ SomebodystillusesyouMS-DOS: $@2. ile başlayan tüm argümanlar ( dizideki öğeler ). Ayrıca, dört satırlık bir çok gereksiz (ve yanlış) şey koyduğumu fark ettim. (Ayrıca, "çözüldü".)
user1686 11:12

1
Senaryoyu kullanırken, tagsFromFilebir satırda aynı şeyi yapabilecek seçeneği tamamen kaçırdığım gerçeğini gözden geçirmeye devam edeceğim ...
user1686

1
@grawity: Düzenlemeniz beni biraz şaşırttı :-)
haimg

2
@grawity ve @haimg: exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps:all .- -rseçenek dizine geri döner ( .), ve, -gps:allşey ... tam da aradığım şey bu. Seni dövüyorum, yerçekimi! :) Sanırım bu gönderiyi düzenleyebilir ve bu parçacığı ekleyebilirsiniz, ancak exiftool --helpverdiğim diğer seçenekleri anlamaları için insanları okumaları konusunda uyarmayı unutmayın ... hepinize teşekkür ederim!
Birisi hala MS-DOS'u kullanıyor

0

Exiv2'yi de kullanabilirsiniz - çok daha hızlıdır ve örneğin webp görüntülerine (ve diğerlerine) exif verileri yazabilir.

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

Bu exiv2 panosundan bir örnektir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.