मैं एक फ़ोल्डर में सभी छवियों को समान चौड़ाई में कैसे माप सकता हूं?


97

मैं किसी दिए गए फ़ोल्डर में सभी छवियों को एक ही चौड़ाई में स्केल करना चाहता हूं (लेकिन अलग-अलग उचित रूप से ऊंचाइयों को बढ़ाया गया है)। मैं GUI- आधारित या कमांड-लाइन टूल का उपयोग कैसे कर सकता हूं?

बोनस अंक के लिए, क्या यह संभव है कि छवियों को उनके प्रारंभिक चौड़ाई के आधार पर स्केल किया जाए (यानी, केवल स्केल छवियां जिनकी चौड़ाई> x और / या चौड़ाई <y) है?


avconv CLI के माध्यम से ऐसा कर सकते हैं - देखें: libav.org/avconv.html#scale-1
एल्डर गीक

जवाबों:


152

यह इमेजमाजिक के साथ करना बहुत आसान है । आपको इसे सॉफ़्टवेयर केंद्र में स्थापित करने में सक्षम होना चाहिए। मैं इसे छवियों के बैच प्रसंस्करण के लिए सुझाऊंगा।

बैच का आकार बदलना अविश्वसनीय रूप से सरल है (मैंने इसे Ubuntu 11.10 के साथ परीक्षण किया)। पहलू अनुपात को ध्यान में रखते हुए प्रत्येक .jpg फ़ाइल को 200 पिक्सेल चौड़ाई में बदलने के लिए निम्न कमांड का उपयोग करें:

$ convert '*.jpg[200x]' resized%03d.png

-set विकल्प का उपयोग करके आप फ़ाइल नाम को बनाए रख सकते हैं। उदाहरण के लिए:

convert "images/*.jpg[250x]" -set filename:base "%[base]" "images/new_folder/%[filename:base].jpg"

यदि आपके पास अधिक फ़ाइलें हैं, तो आपको खोज के साथ उपयोग करना चाहिए

find /folder -iname '*.JPG' -exec convert \{} -verbose -set filename:base "%[base]" -resize 1920x1080\> "/folder/images/%[filename:base].JPG" \;

यह केवल इमेजमाजिक की शक्ति की सतह को खरोंच कर रहा है। आकार बदलने को अंतहीन रूप से ट्यून किया जा सकता है । अधिक उन्नत आकार बदलने के लिए आपको -resizeविकल्प का उपयोग करना होगा ।

आप करने के लिए आकार बदलने सीमित कर सकते हैं सिकुड़ने :

$ convert '*.jpg[300x>]' thumb-300-%03d.png

या विस्तार :

$ convert '*.jpg[300x<]' thumb-300-%03d.png

अधिक विकल्प देखने के लिए ज्यामिति प्रलेखन को देखें।


1
क्यों पीएनजी करने के लिए jpg?
जॉनीटेक्स

3
.Jpg और .png एक्सटेंशन विभिन्न स्वरूपों के उपयोग को प्रदर्शित करने के लिए सिर्फ एक उदाहरण है।
बंदगी

-सेट विकल्प पर अधिक जानकारी के लिए: imagemagick.org/script/command-line-options.php ; मूल रूप से, -set <property-name> <value>एक संपत्ति सेट करता है; %<one-character>और %[<one-or-more-characters>]Imagemagick द्वारा उनके मूल्य में विस्तार किया गया है; गुण जो प्रोग्रामेटिक रूप से आउटपुट फ़ाइलनाम को निर्धारित करने के लिए उपयोग करने के लिए उपयोग किए जाते हैं filename:, इसलिए हमें baseसंपत्ति की प्रतिलिपि बनाने की आवश्यकता है , जिसमें छवि पथ, एक filename:<something>संपत्ति में है।
मार्कोटामा

1
इस ट्रिक को शेयर करने के लिए धन्यवाद, मुझे नहीं पता था!
मार्कोटामा

2
अज्ञात छवि संपत्ति "% [आधार]"
पोस्ट स्वयं

32

GUI के लिए, ऐसी त्वरित नौकरी के लिए Phatch "एक क्लिक का मूल्य हजार फ़ोटो है" सबसे अच्छा है। यह पहले से ही Ubuntu रिपॉजिटरी में है।

sudo apt-get install phatch
  1. स्केल और सेव आइटम जोड़ें
  2. सेट पैमाने / आकार बदलें विकल्प
  3. सेव / आउटपुट विकल्प सेट करें
  4. Daud
  5. इनपुट फ़ोल्डर सेट करें
  6. निष्पादित करने के लिए बैच पर क्लिक करें

यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें


2
एक उद्वार के लिए, एक उदाहरण कि वास्तव में प्रश्न में कार्य को कैसे पूरा किया जाए अच्छा होगा :) लेकिन टिप के लिए धन्यवाद, अच्छा उपकरण!
जायविंक

2
यह मेरी मशीन (उबंटू मेट 16.04) पर काम नहीं किया। ऐप स्टार्टअप स्क्रीन पर अटक गया था
गनिथ डी

1
@GunithDevasurendra, त्रुटियों के लिए जाँच करने के लिए इसे कमांड लाइन से आज़माएँ। यदि आप इसे हल नहीं कर सकते, तो कृपया एक और प्रश्न लिखें और उस आउटपुट को शामिल करें।
user.dz

1
महान उपकरण, मैंने इसे सालों तक इस्तेमाल किया। दुर्भाग्य से यह अस्वीकार्य है और वर्तमान उबंटू संस्करणों में काम नहीं करता है। आशा है कि कोई इसे ठीक करने के लिए कोड कांटा कर सकता है।
डिएगो वी

फेडोरा पर यह ऊपर के समान नहीं है और इसकी ऐसी कार्यक्षमता नहीं है
व्लाद

29

इसे इस्तेमाल करे:

sudo apt-get install gimp-plugin-registry

फिर, जिम्प को खोलें और इसमें पाए गए बैच प्लगइन को खोलें Filters > Batch > Batch Process

Inputटैब में अपनी छवियों का चयन करें , और आश्चर्यजनक रूप से नामित Resizeटैब में रीसेट ऑपरेशन को परिभाषित करें ।

अधिक जानकारी यहां पाई जा सकती है


21

mogrifyImageMagick टूल से कमांड का प्रयास करें ।

  • मूल से उत्पादन को अलग करने के लिए एक रास्ता दे
  • चौड़ाई के उदाहरण के नीचे वांछित थंबनेल चौड़ाई या ऊंचाई दें
  • इस तरह से आप मूल फ़ाइल नाम :-)

उदाहरण:

$ mogrify -path small/ -auto-orient -thumbnail 300x *.jpg

1
मेरी राय में यह सबसे अच्छा जवाब है!
टॉम

2
$ Mogrify छोटे / -resize 300x -path * .jpg
Iurie मलाई

+1 और आप सबसे लंबी भुजा का आकार बदल सकते हैं, चाहे वह चित्र या लैंडस्केप रोटेट की गई छवि के लिए हो: stackoverflow.com/a/5694903/227926
therobyouknow

9

यहाँ है कि मैंने इसे केवल बड़ी छवियों को सिकोड़कर कैसे किया :

find . -iname \*.jpg -exec convert -verbose -quality 80 -resize 1600\> "{}" "FOO_FOLDER/{}" \;

यह उचित रूप से ऊंचाइयों को बढ़ाया जाएगा।

convertकमांड का उपयोग करने के लिए , आपको Imagemagick के माध्यम से इंस्टॉल करना होगा sudo apt-get install imagemagick

विंडोज के लिए, देखें: छवियों को आकार देने के लिए एक बैच स्क्रिप्ट


8

उत्तर दिया और स्वीकार किया गया (और मैं ImageMagick का उपयोग करता हूं) लेकिन पूर्णता के लिए ... मेरे पास एक गैर-तकनीकी बॉस है जो कुछ बुनियादी उपकरणों के साथ एक साधारण दर्शक चाहता था और उसे GUI होना चाहिए था। मैंने उसके लिए gThumb पर फैसला किया।

झलक में आपको ...

  • किसी भी छवियों का चयन करें जिन्हें आप आकार बदलना चाहते हैं
  • आकार बदलने का कार्य शुरू करें (रिंच आइकन पर क्लिक करें> छवियों का आकार बदलें ..)
  • पिक्सल या प्रतिशत के आधार पर एक नए आकार में रखो
  • एक आउटपुट फ़ोल्डर का चयन करें, और आप जाते हैं।

16.04 के लिए तय होने तक यह फ़ेच के लिए एक सभ्य विकल्प है।
हेस्टिग ज़ुसमेनस्टेलन

3

के लिए बैच छवि का आकार बदलने मैं कई संकुल देखा है और अंत में एक प्रयोग करने योग्य इंटरफेस के साथ एक मिला - converseen । एक बार जब आपको पता चलता है कि महत्वपूर्ण सेटिंग्स स्क्रॉल किए गए बाएँ फलक पर कुछ छिपी हुई हैं, तो सब ठीक है।
निश्चित नहीं है कि यह सभी ओपी उपयोग के मामलों को पूरा करता है, लेकिन आपको इमेजमैगिक या फेच के quirky UI को देखना नहीं पड़ सकता है।
अजीब तरह से, फोटो प्रबंधन पैकेज जैसे डिजीकैम, एफ-स्पॉट, फोटॉक्सक्स या शॉटवेल फोटोबकेट या गैग) जैसी ऑनलाइन सेवाओं पर अपलोड करने से पहले छवियों के बैचों की नकल / आकार बदलने की आवश्यकता को नहीं समझते हैं। ये सेवाएं चाहती हैं कि हम चीजों को उनके तरीके से ही करें ताकि मैं उन पर भरोसा करने के लिए उन पर भरोसा न करूं।

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