ถ่ายโอนข้อมูล gps exif จากภาพหนึ่งไปอีกภาพหนึ่ง


13

ฉันมีกล้อง (ไม่ใช่มือถือ) ที่ใส่ข้อมูล gps exif ลงในรูปภาพ

ความจริงก็คือ: การใช้ "gps on" ตลอดเวลาทำให้แบตเตอรี่หมด ดังนั้นฉันจึงคิดว่า: การถ่ายภาพโดยใช้ gps เพียงภาพเดียวและพวกเขาที่บ้านเพิ่มข้อมูล exif นี้ให้คนอื่น ๆ ?

ฉันต้องการทราบว่ามีแอปพลิเคชั่นที่คุณรู้หรือไม่ว่าสามารถช่วยฉันได้ในสถานการณ์นี้: มีภาพถ่ายที่มีข้อมูล exif เกี่ยวกับ gps ให้คัดลอกข้อมูล gps นี้ไปยังชุดของรูปภาพอื่น

(ฉันชอบโซลูชัน Linux / Mac แต่ฉันยอมรับ windows ด้วยฉันไม่คิดว่าจะเป็นแอปพลิเคชันบรรทัดคำสั่ง)


คำตอบ:


13

ลองดูที่ExifTool มันเป็นมีดกองทัพสวิสของการจัดการข้อมูล Exif สามารถทำสิ่งที่คุณต้องการเหนือสิ่งอื่นใด มันเป็นเครื่องมือบรรทัดคำสั่งที่เข้ากันได้กับ Windows / Linux / Mac และโมดูล Perl เช่นกัน ฟรีและโอเพ่นซอร์ส:

ตัวเลือก "-tagsFromFile"

ตัวเลือก ExifTool พิเศษอนุญาตให้คัดลอกแท็กจากไฟล์หนึ่งไปยังอีกไฟล์หนึ่ง ไวยากรณ์บรรทัดคำสั่งสำหรับการทำเช่นนี้คือ "-tagsFromFile SRCFILE" แท็กใด ๆ ที่ระบุหลังจากตัวเลือกนี้ในบรรทัดคำสั่งจะถูกแยกจากไฟล์ต้นฉบับและเขียนไปยังไฟล์ปลายทาง หากไม่มีการระบุแท็กแท็กที่เขียนได้ทั้งหมดจะถูกคัดลอก ตัวเลือกนี้ง่ายมาก แต่ทรงพลังมาก ขึ้นอยู่กับรูปแบบของไฟล์ต้นทางและไฟล์ปลายทางการอ่านแท็กบางรายการอาจไม่ถูกต้องในไฟล์ปลายทางซึ่งในกรณีนี้ไฟล์เหล่านั้นจะไม่ถูกเขียน

คำสั่งต่อไปนี้จะเปลี่ยนไฟล์ทั้งหมดในไดเรกทอรีปัจจุบันและลูก ๆ ของมัน (เรียกซ้ำ) คัดลอกแท็กที่เกี่ยวข้องกับ 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}"

2
jheadเป็นอีกหนึ่งยูทิลิตี้ที่มีประโยชน์มากที่อาจเสริม ExifTool
MikeyB

1
@ Somebodystillusesyms-DOS: อาร์กิวเมนต์ทั้งหมด (รายการใน$@อาร์เรย์) เริ่มต้นด้วย 2nd นอกจากนี้ตอนนี้มันเป็นสี่บรรทัดที่ฉันรู้ว่าฉันใส่สิ่งที่ไม่จำเป็น (และไม่ถูกต้อง) ไว้ที่นั่น (และ "แก้ไขแล้ว")
user1686

1
ในขณะที่คุณกำลังใช้งานสคริปต์ฉันจะเผชิญหน้ากับความจริงที่ว่าฉันพลาดtagsFromFileตัวเลือกทั้งหมดที่สามารถทำได้เหมือนกันในหนึ่งบรรทัด ...
user1686

1
@grawity: ฉันเป็นบิตประหลาดใจโดยการแก้ไขของคุณ :-)
haimg

2
@grawity และ @haimg: exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps:all .- -rตัวเลือกจะซ้ำเข้าไปในไดเรกทอรี ( .) และ-gps:allก็ดี ... มันเป็นเพียงสิ่งที่ฉันกำลังมองหา ฉันเอาชนะคุณ! :) ฉันคิดว่าคุณสามารถแก้ไขโพสต์นี้และเพิ่มตัวอย่างนี้ได้ แต่อย่าลืมเตือนผู้คนให้อ่านexiftool --helpเพื่อทำความเข้าใจตัวเลือกอื่น ๆ ที่ฉันมอบให้ ... ขอบคุณทุกคน!
ใครบางคนยังคงใช้ MS-DOS

0

นอกจากนี้คุณยังสามารถใช้ exiv2 ได้เร็วกว่ามากเช่นสามารถเขียนข้อมูล exif ไปยังรูปภาพ webp (และอื่น ๆ )

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

นี่คือตัวอย่างจากคณะกรรมการ exiv2

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.