एक्सिफ डेटा के आधार पर, स्वचालित रूप से छवियों को कैसे घुमाएं


31

जब मैं अपने कैमरे (ओलिंप E-520) के साथ चित्र बनाता हूं, तो EXIF ​​डेटा में अभिविन्यास संग्रहीत होता है।

उबंटू पर मानक छवि दर्शक इस छवियों को सही ढंग से प्रदर्शित कर रहा है। विंडोज दर्शक हालांकि नहीं।

क्या उबंटू के एक बैच में वास्तव में इस चित्र (यदि EXIF ​​के अनुसार आवश्यक है) को घुमाने का कोई तरीका है? एक ImageMagick उपकरण के साथ उदाहरण के लिए?

जवाबों:


37

exiftranऔर JHead ( jhead -autorot) ऐसा कर सकते हैं। exiftranयह दोषरहित हो सकता है, निश्चित नहीं है jhead


1
exiftran लगता है कि यह वास्तव में मुझे क्या चाहिए!
पीटर स्मिट

3
jhead -autorot jpegtran को आमंत्रित करता है, जो पूरी तरह से दोषरहित रोटेशन कर सकता है। मैं IJG द्वारा दोषरहित सामान के बारे में सब भूल गया था। jpegclub.org/losslessapps.html एक्सफ़र्टन दोषरहित रोटेशन भी कर सकता है, और jpegtran से बेहतर है क्योंकि यह छवि फ़ाइल में exif जानकारी का सम्मान करता है। आपको हालांकि ध्यान देना चाहिए कि कभी-कभी (और मुझे सभी विवरणों पर यकीन नहीं है) आप हानिरहित घूम नहीं सकते हैं। इसलिए यदि आप आवश्यक रोटेशन (मेरे पिछले के समान, लेकिन सभी घुमावों को संभालने के लिए एक केस स्टेटमेंट के साथ) की पहचान करने के लिए एक स्क्रिप्ट को लागू करते हैं, तो आपको नुकसानदायक रोटेशन के लिए वापस गिरने का समर्थन करना चाहिए।
4

1
मैंने एक्सफ़र्टन-ए (एक्सिफ ओरिएंटेशन टैग के आधार पर ऑटो रोटेट) के साथ कुछ परीक्षण किए, और यह बहुत अच्छा काम करता है। दोषरहित रोटेशन के संबंध में, मैं स्रोत छवि को वापस किए गए रोटेशन के व्युत्क्रम को प्राप्त नहीं कर सका। उदा। एक्सफ़िटूल -F 1.jpg -o 2.jpg; exiftool -F 2.jpg -o 3.jpg; 1.jpg और 3.jpg के md5sum समान नहीं हैं। करीब से निरीक्षण करने पर (आराक्सिस बाइनरी तुलना के साथ विलय) कभी-कभी यह एक्सफ़ हेडर जानकारी होती थी जो कि भिन्न होती थी, दूसरी बार यह फ़ाइल में बड़े बदलाव थे। हालाँकि, अरैक्सिस मर्ज की छवि की तुलना में कोई अपरिवर्तित पिक्सेल नहीं दिखा।
opello

मेरा मतलब है कि कोई भी परिवर्तन नहीं हुआ * पिक्सेल (वे पिक्सेल-समान चित्र थे)। इसके अलावा - मुझे स्टैकओवरफ्लो / सुपरसुअर प्रोटोकॉल पर यकीन नहीं है, लेकिन मुझे लगता है कि उचित उपकरण की सिफारिश के लिए dmityugov को यह मिलना चाहिए।
opello

1
मैंने पाया कि एक्सफ़र्टन फ़ाइल से कुछ मेटाडेटा निकाल सकता है। उदाहरण के लिए, सैमसंग गैलेक्सी एस 2 द्वारा ली गई तस्वीरों में टाइमस्टैम्प फ़ील्ड (संभवतः गैर-एक्सआईएफ) है, और एक्सफ़र्टन इसे हटा देगा। exiftran -a भी छवि को बदल देगा जिसे रोटेशन की आवश्यकता नहीं है। jhead -autorot दोनों मुद्दों से मुक्त है। OTOH, इसमें फाइल माइम (लेकिन वर्कअराउंड के रूप में स्विच) को संरक्षित करने के विकल्प का अभाव है।
pfalcon

12

ImageMagick के कन्वर्ट टूल में एक -ऑटो-ओरिएंटेड फ्लैग है जिसे काम करना चाहिए।

#!/bin/bash

JHEAD=jhead
SED=sed
CONVERT=convert

for f in *.jpg
do
        orientation=$($JHEAD -v $f | $SED -nr 's:.*Orientation = ([0-9]+).*:\1:p')

        if [ -z $orientation ]
        then
                orientation=0
        fi

        if [ $orientation -gt 1 ]
        then
                echo Rotating $f...
                mv $f $f.bak
                $CONVERT -auto-orient $f.bak $f
        fi
done

मैंने एक त्वरित स्क्रिप्ट को वर्तमान निर्देशिका में * .jpg पर पुन: व्यवस्थित करने के लिए एक साथ फेंक दिया। आप इसे आसानी से एक पथ ($ 1) में ले सकते हैं या आपको जो कुछ भी चाहिए।


1
महान! जो मुझे नहीं मिला। मैं छवियों का एक बैच करने के लिए mogrify के साथ इसका उपयोग करता हूं। केवल एक प्रश्न, यह सभी छवियों को फिर से क्यों लिखता है, भले ही वे बदलने के लिए नहीं हैं? (हैश में अंतर होता है)
पीटर स्मिट

मुझे यकीन नहीं है कि क्यों, लेकिन ऐसा लगता है कि छवि को अलग और एक द्विआधारी अंतर को देखते हुए एक पूर्ण पुन: एनकोड करना है।
ओपेलो

वाह, यह बहुत अच्छा है। बहुत बहुत धन्यवाद। यदि कोई अन्य सुपरगूड उत्तर नहीं जोड़ा जाता है, तो मैं निश्चित रूप से इसे स्वीकार करूंगा।
पीटर स्मिट

2

ऐसा करने के लिए आप XnView का उपयोग कर सकते हैं । बैच मोड में ऑटो-रोटेशन करने के लिए XnView का उपयोग करने के बारे में जानकारी के लिए इन पृष्ठों को देखें:

विंडोज में, आप इरफानव्यू का उपयोग कर सकते हैं । IrfanView वेबसाइट से पूछे जाने वाले प्रश्न अनुभाग:

प्रश्न: बैच मोड में JPG दोषरहित संचालन (रोटेशन, IPTC, टिप्पणी) का उपयोग कैसे करें?

A: थंबनेल विंडो को प्रारंभ करें, JPGs के साथ फ़ोल्डर खोलें, कई JPGs चुनें और JPG दोषरहित संचालन के लिए थंबनेल मेनू फ़ाइल में देखें -> चयनित अंगूठे के साथ दोषरहित रूपांतरण। नोट: ऑटो-रोटेशन विकल्प केवल तभी काम करता है जब EXIF ​​ओरिएंटेशन टैग ठीक से सहेजा गया हो (टॉप-लेफ्ट नहीं)।


1

ImageMagick के साथ आप फ़ाइलों को घुमाने और मूल फ़ाइलनाम पर वापस घुमाई गई छवि लिखने के लिए mogrify का उपयोग कर सकते हैं।

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