ImageMagick में नमूना / resample / scale / resize / adaptive-resize / थंबनेल ऑपरेटरों के लिए क्या अंतर है?


84

मुझे एक छवि का उपयोग करके रिज़ॉल्यूशन बदलने के कई तरीके मिले convert:

-sample
-resample
-scale
-resize
-adaptive-resize
-thumbnail

उनमे क्या अंतर है?

अगर मुझे निश्चित पहलू अनुपात (आवश्यक फसल) के साथ विभिन्न आकार के बड़े चित्र थंबनेल बनाने की आवश्यकता है - मेरा सबसे अच्छा विकल्प क्या है?


2
यह URL - ImageMagick v6 उदाहरण - आकार बदलने या स्केल करने में आपकी सहायता करनी चाहिए।
हार्वे

और भी अधिक जानकारी के लिए, imagemagick.org/Usage/filter और imagemagick.org/Usage/filter/nicolas
fmw42

जवाबों:


136

आकार

-resize 400x300+20+30(जैसे -scaleऔर -sampleउदाहरण नीचे हैं) एक आउटपुट छवि जिनमें से पिक्सेल आयाम है के लिए एक इनपुट धर्मान्तरित 400x300। यह आउटपुट को दाईं ओर 20 पिक्सेल और 30 पिक्सेल से नीचे तक स्थानांतरित करता है। इसके अतिरिक्त, कुछ और अंतर हैं -scale:

  • -resizeएक अतिरिक्त सेटिंग का समर्थन करता है -filter(जो उपयोग करने से पहले कमांडलाइन पर होना चाहिए -resize!)।

  • -filter आवर्धन के मामले में जोड़े गए पिक्सेल के रंगों के लिए, या शेष पिक्सेल के रंगों के लिए उपयोग किए जाने वाले सटीक एल्गोरिदम का निर्धारण तब किया जाता है जब उनके पड़ोसियों में से कुछ को हटा दिया जाता है।

  • समर्थित फ़िल्टर की सूची के लिए, बस चलाएं convert -list filter

  • -filter point -resize 400x300जैसा करता है वैसा ही परिणाम बनाता -sample 400x300है, लेकिन यह अभी भी थोड़ा धीमा चलता है।

  • यदि (पहले) सेट नहीं किया गया है -resize, तो रूपांतरण चुपचाप डिफ़ॉल्ट हो जाएगा, -filter Lanczosजो धीमा है, लेकिन जो बहुत बेहतर गुणवत्ता उत्पन्न करता है (क्योंकि यह किसी भी नए जोड़े गए लोगों के लिए सभी आसपास के पिक्सेल के रंगों को ध्यान में रखता है) -filter pointजो उत्पादन करता है (जो निकटतम का उपयोग करता है ) पड़ोसी नियम एक नए जोड़े गए पिक्सल के रंग को निर्धारित करने के लिए)।

नमूना

-sample 400x300एक इनपुट इमेज को एक आउटपुट इमेज में कनवर्ट करता है जिसमें पिक्सेल आयाम होते हैं 400x300। हालाँकि, कुछ बहुत महत्वपूर्ण अंतर हैं -resize:

  • -sampleकी अतिरिक्त सेटिंग का समर्थन नहीं करता है -filter; अगर किसी भी तरह से सेट किया गया है, तो -filterबस नजरअंदाज कर दिया जाता है।

  • जब आवर्धन (क्योंकि इनपुट छवि का आकार इससे छोटा हो सकता है 400x300), पिक्सेल को ब्लॉक में दोहराया जाता है।

  • न्यूनतम करते समय (क्योंकि इनपुट छवि का आकार इससे अधिक बड़ा हो सकता है 400x300), पिक्सेल बहुत सरल एल्गोरिथ्म के साथ उप-नमूना किए जाते हैं: कुछ पंक्तियों और स्तंभों को बस ऊपर छोड़ दिया जाता है।

  • ज्यामिति के तर्क -sampleकिसी भी समर्थन नहीं करता ऑफसेट हिस्सा (विपरीत -resizeहै, जो सम्मान ऑफसेट उत्पादन के लिए निर्देशों)।

  • आउटपुट में इनपुट इमेज की तुलना में अधिक (अलग) रंग कभी नहीं होंगे; हालांकि इसमें कम रंग हो सकते हैं।

  • इसलिए -sampleबहुत तेज है (की तुलना में तेज -resize) - लेकिन उत्पादन की गुणवत्ता (आमतौर पर) बदतर है: आप परिणामी आउटपुट में अत्यधिक अवरुद्ध और अलियासिंग प्रभाव आसानी से प्राप्त कर सकते हैं ।

  • इसकी एक महत्वपूर्ण विशेषता -sampleयह है कि नई छवि में कोई नया रंग नहीं होगा, हालांकि मूल छवि के कुछ रंग गायब हो सकते हैं।

प्रतिदर्श चैनल

-resampleवांछित XxY रिज़ॉल्यूशन के पैरामीटर के रूप में उपयोग करता है , न कि लक्ष्य छवि की XxYपिक्सेल ज्यामिति । इस ऑपरेटर का उद्देश्य किसी छवि के प्रदान किए गए आकार को संरक्षित करना है : मान लें कि आपकी छवि किसी डिवाइस पर 3 इंच से 4 इंच 3 इंच तक मापी जाती है जो इसे 300 डीपीआई में प्रस्तुत करती है। तब -resample 72या के लिए पूछना -resample 72x72छवि को आकार देगा ताकि वह 72 डीपीआई डिवाइस पर 3 इंच से 4 इंच (फिर से) माप सके।

  • यह ऑपरेशन केवल ऐसी छवियों के लिए काम करता है जिनके पास पहले से ही अपने मेटाडेटा में एक वांछित रिज़ॉल्यूशन संग्रहीत है (सभी छवि प्रारूप एक छवि रिज़ॉल्यूशन की अवधारणा का समर्थन नहीं करते हैं - जेपीईजी, पीएनजी और टीआईएफएफ)।

  • यदि स्रोत छवि प्रारूप है, जिसमें एक छवि संकल्प के लिए आंतरिक समर्थन याद आ रही है में है, तो (कल्पित) छवि के मूल संकल्प के माध्यम से निर्दिष्ट किया जाना चाहिए -densityकमांड लाइन पर पूर्व निर्दिष्ट करने के लिए -resampleसंकल्प।

स्केल

-scale 400x300समतुल्य परिणाम (लेकिन तेज़ है, क्योंकि यह सभी फ़िल्टर प्रसंस्करण से बचा जाता है) का उपयोग करता है -filter box -resize 400x300। यह किसी भी वर्तमान -filterसेटिंग को पूरी तरह से अनदेखा करता है ।

  • न्यूनतम करते समय, यह केवल संबंधित इनपुट पिक्सेल रंगों को एक साथ पिक्सेल रंगों को बदलकर छवि का आकार बदलता है।

  • जब आवर्धन होता है, तो यह आवश्यक अतिरिक्त पिक्सल के लिए संबंधित इनपुट पिक्सल को दोहराता है।

अनुकूली-आकार

-adaptive-resize 400x300एक ज्यामिति पैरामीटर के ऑफसेट भाग का समर्थन नहीं करता (या अनदेखा करता है, यदि सेट करता है) और मौजूद होने पर सेटिंग की भी उपेक्षा करता है ।-gravity

  • यह डिफ़ॉल्ट डेटा-निर्भर ट्राइंगुलेशन द्वारा उपयोग करता है जब आकार बदल रहा है (जब तक कि आकार बदलने की विधि को अतिरिक्त रूप से निर्दिष्ट नहीं किया जाता है -filter [something])।

थंबनेल

-thumbnail-resizeकुछ मतभेदों के साथ काम करता है :

  • यह गति के लिए अनुकूलित है।

  • यह थंबनेल की फ़ाइलों को कम करने के लिए किसी भी एम्बेडेड रंग प्रोफाइल को भी हटाता है।


निम्नलिखित उत्तर -resizeनिर्देश के कुछ (सचित्र!) उदाहरण दिखाता है । प्रत्येक चित्रण एक अलग परिणाम दिखाता है, जो सटीक आकार विधि के 'ठीक विवरण' पर निर्भर करता है:


4
धन्यवाद, यह ImageMagick प्रलेखन की तुलना में बहुत अधिक समझ में आता है।
पॉल ब्रैनन

यदि आपके पास नमूना चित्र हैं, तो यह और भी सही होगा :-)
सिरो सेंटिल्ली 冠状,,, 事件 at

@ कर्टपाइफ़ल: सबसे पहले, अत्यधिक जानकारीपूर्ण उत्तर के लिए धन्यवाद। कृपया, क्या आप Imagemagick के लिए किसी अच्छी पुस्तक या एक दस्तावेज पीडीएफ का सुझाव दे सकते हैं। मेरे पास अभी जो सबसे अच्छा तरीका है वह पढ़ने के समय को कम करने के लिए Imagemagick के सभी पृष्ठों को परिमार्जन कर रहा है, लेकिन यह बहुत सारी जानकारी है (जो मेरी राय में, हमेशा विवरणात्मक नहीं है)। कोई मदद उच्च सराहना की है।
सौराभाइट्स

5

जैसा कि Ciro Santilli Sant by 六四 Sant Sant Sant Sant ने कहा:

यदि आपके पास नमूना चित्र हैं, तो यह और भी परिपूर्ण होगा :-)

-resize

गूगल प्ले के साथ -resize (8.0 kB)

नमूना

नमूना (2.2kB)

-scale

-scale (7.0 kB)

-adaptive-आकार

यहाँ छवि विवरण दर्ज करें (4.3 kB)

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