एक छवि से दूसरे में एक्सपी जीपीएस जानकारी स्थानांतरित करें


13

मेरे पास एक कैमरा है (सेलफोन नहीं) जो चित्रों में gps exif जानकारी सम्मिलित करता है।

तथ्य यह है: "gps on" का उपयोग बैटरी को हर समय करता है। तो मैंने सोचा: क्या सिर्फ एक तस्वीर पर जीपीएस के साथ लेने के बारे में, और घर पर उन्हें इस exif जानकारी दूसरों को जोड़ने?

मैं जानना चाहूंगा कि क्या ऐसे अनुप्रयोग हैं, जिनके बारे में आप जानते हैं कि इस परिदृश्य में मेरी मदद कर सकते हैं: जीपीएस के बारे में जानकारी के साथ एक तस्वीर होने, दूसरे चित्रों के एक बैच के लिए इस समान जीपीएस जानकारी की प्रतिलिपि बनाएँ।

(मैं लिनक्स / मैक समाधान पसंद करता हूं, लेकिन मैं विंडोज़ भी स्वीकार करता हूं। मुझे कोई आपत्ति नहीं है अगर यह एक कमांड लाइन आवेदन है।)


जवाबों:


13

ExifTool पर एक नज़र डालें । यह Exif जानकारी हेरफेर का एक स्विस सेना का चाकू है, जो आप की जरूरत है, कई अन्य चीजों के बीच कर सकते हैं। यह विंडोज / लिनक्स / मैक संगत कमांड लाइन उपकरण और एक पर्ल मॉड्यूल भी है। मुक्त और खुला स्रोत:

"-TagsFromFile" विकल्प

एक विशेष ExifTool विकल्प एक फ़ाइल से दूसरे फ़ाइल में टैग कॉपी करने की अनुमति देता है। ऐसा करने के लिए कमांड-लाइन सिंटैक्स "-tagsFromFile SRCFILE" है। कमांड लाइन पर इस विकल्प के बाद निर्दिष्ट कोई भी टैग स्रोत फ़ाइल से निकाला जाता है और गंतव्य फ़ाइल पर लिखा जाता है। यदि कोई टैग निर्दिष्ट नहीं किया जाता है, तो सभी लिखित टैग कॉपी किए जाते हैं। यह विकल्प बहुत सरल है, फिर भी बहुत शक्तिशाली है। स्रोत और गंतव्य फ़ाइलों के स्वरूपों के आधार पर, पढ़ने के कुछ टैग गंतव्य फ़ाइल में मान्य नहीं हो सकते हैं, जिस स्थिति में वे लिखे नहीं गए हैं।

निम्न आदेश वर्तमान निर्देशिका और उसके बच्चों (पुनरावृत्ति) में सभी फ़ाइलों को बदल देगा, फ़ाइल से सभी जीपीएस-संबंधित टैग की प्रतिलिपि बना रहा है SOURCE.JPG:

exiftool −overwrite_original_in_place -r -tagsFromFile SOURCE.JPG -gps: सभी।

ऐसा करने का एक अन्य तरीका निम्नलिखित को एक स्क्रिप्ट में रखना है। पहला पैरामीटर पास होना चाहिए जीपीएस निर्देशांक से कॉपी करने के लिए फ़ाइल होनी चाहिए, और अन्य सभी पैरामीटर अपडेट होने वाली लक्ष्य फाइलें हैं:

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

2
jhead एक और बहुत उपयोगी उपयोगिता है जो ExifTool का पूरक हो सकता है।
मिकीबी

1
@ SomebodystillusesyouMS-DOS: सभी तर्क ( $@सरणी में आइटम ) 2 से शुरू होते हैं। इसके अलावा, यह अब चार लाइनें हैं जो मुझे एहसास हुआ कि मैंने वहां बहुत सारे अनावश्यक (और गलत) सामान रखे हैं। (इसके अलावा, "हल"।)
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मेरे द्वारा दिए गए अन्य विकल्पों को समझने के लिए पढ़ने के लिए चेतावनी दें ... धन्यवाद!
कोई व्यक्ति अभी भी आप

0

आप exiv2 का उपयोग भी कर सकते हैं - यह बहुत तेज़ है और, उदाहरण के लिए, वेब चित्र (और अन्य) के लिए exif डेटा लिख ​​सकते हैं।

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

यह exiv2 बोर्ड से उदाहरण है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.