कमांड लाइन का उपयोग करके छवि को लंबवत रूप से कैसे विभाजित किया जाए?


19

कहो कि मेरे पास एक बड़ी 800x5000 छवि है; मैं कमांड लाइन का उपयोग करके 800x1000 आयामों के साथ 5 अलग-अलग छवियों में कैसे विभाजित होगा?


2
कृपया अपने प्रश्न में समाधान न जोड़ें। नीचे दिए गए उत्तर को चिह्नित करें।
स्लम

जवाबों:


27

कन्वर्ट-क्रॉप ज्योमेट्री + रिपेज का उपयोग कर इसे हल किया:

convert -crop 100%x20% +repage image.png image.png

यदि आप इसे फ़ाइलों के एक बैच पर लागू करना चाहते हैं, तो यह प्रयास करें:ls -1 *.png | sed 's,.*,& &,' | xargs -n 2 convert -crop 100%x20% +repage
JPT

23

ImageMagick का उपयोग करना:

$ convert -crop 800x1000 image.png cropped_%d.png

नामित फ़ाइलों की एक अनुक्रम पैदा करेगा cropped_1.png, cropped_2.pngऔर पर इतना।

संदर्भ


ओपी ने कहा कि इसका उपयोग करके इसे हल किया गया convert -crop geometry +repage। उदाहरण के लिए convert -crop 100%x20% +repage image.png image.png:।
slm

1
+repage फिर से विचार : छवि ऑफसेट सक्षम स्वरूपों आदि

यह @ शली के उत्तर की तुलना कैसे करता है?
CMCDragonkai

@CMCDragonkai यह अनिवार्य रूप से एक ही है, वे प्रतिशत का उपयोग कर रहे हैं, इसलिए यह किसी भी आकार की छवि को 5 ऊर्ध्वाधर स्लाइस में विभाजित करेगा बजाय विशेष रूप से 800x5000 मामले के लिए लिखा जा सकता है
21

1

ImageMagick मुझ पर क्रैश होगा, छवि को संभालने के लिए बहुत बड़ी होने के कारण, इसलिए मुझे अन्य तरीकों का सहारा लेना पड़ा।

मैंने पायथन इमेज लाइब्रेरी का उपयोग करके समाप्त किया।

ओपी प्रश्न का एक त्वरित और गंदा उत्तर इस प्रकार है:

from PIL import Image

im = Image.open("YourImage.yourformat")

for h in range(0, im.height, 1000):
     nim = im.crop((0, h, im.width-1, min(im.height, h+1000)-1))
     nim.save("PartialImage." + str(h) + ".yourformat")

उपरोक्त कोड में अंतिम आकार हार्डकोड किया गया है, लेकिन इसे आसानी से पैरामीटर के सभी इनपुट के साथ अपने स्वयं के पूर्ण ब्लो स्क्रिप्ट में परिवर्तित किया जा सकता है। अगर कभी किसी को ऐसी चीज की जरूरत है।

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