सवाल ImageMagick का उपयोग कर एकाधिक छवियों को मिलाएं


मैं ImageMagick का उपयोग कर एक छवि में एकाधिक छवियों को गठबंधन करना चाहता हूं। थोड़ा बेहतर व्याख्या करने के लिए, मैं परिणाम इस जैसा दिखाना चाहता हूं:

यही है, मेरे पास कई स्क्रीनशॉट हैं, और मैं उन्हें एक छवि में एक दूसरे के शीर्ष पर मूल छवियों के साथ बदलना चाहता हूं।

गुगलिंग द्वारा, मैं 'समग्र' कमांड में आया हूं, लेकिन मुझे नहीं पता कि, और उस स्थिति में मुझे परिणाम प्राप्त करने के लिए इसका उपयोग कैसे किया जाए।


148
2018-05-30 18:30


मूल


क्या आपने जांच की imagemagick बहु छवि परत उदाहरण? - timbooo
stackoverflow.com/questions/12076293/... - Ciro Santilli 新疆改造中心 六四事件 法轮功


जवाब:


इनपुट फ़ाइलों की किसी भी संख्या के लिए नामित in-<कुछ कुछ>.jpg:

convert -append in-*.jpg out.jpg

पूर्ण "ग्लोब" प्राप्त करने के बजाय विशिष्ट फ़ाइलों को जोड़ने या संख्याओं को छोड़ने के लिए, आप स्पष्ट रूप से इनपुट फ़ाइलों का उल्लेख कर सकते हैं और डाल सकते हैं append बाद में आदेश

में कनवर्ट करें- 1.jpg इन-5.jpg इन-एन.jpg + बाहर-इन-प्लस-इन -5-इन-इन संलग्न करेंएन.jpg

आप उपयोग कर सकते हैं -append (के बजाय +append) लंबवत पेस्ट-अप के लिए।

या:

montage -mode concatenate -tile 1x in-*.jpg out.jpg

एक फाइल भी बनायेगा out.jpg जिसमें स्रोत छवियों का लंबवत संयोजन शामिल है।

convert

एक पंक्ति या कॉलम में सरल concatenation के लिए, append का विकल्प convert उपकरण पर्याप्त है। ध्यान दें कि -append सभी छवियों को लंबवत रूप से जोड़ता है, जिसमें एक कॉलम बना रहता है n पंक्तियाँ, तथा +append एक पंक्ति बनाकर, क्षैतिज रूप से concatenates n कॉलम।

(देख ImageMagick: कमांड लाइन विकल्प।)

montage

लेआउट पर बेहतर नियंत्रण पाने के लिए, हमें इसकी आवश्यकता होगी montage उपकरण। montage -mode concatenate एक साथ इनपुट छवियों को एक साथ चिपकाएगा append विकल्प और -tile 1x लागू करने के लिए लेआउट को नियंत्रित करता है।

tile प्रारूप का पालन करता है कॉलम×पंक्तियों, लेकिन दोनों तरफ गायब हो सकता है और montage बाधाओं को पूरा करने के बारे में पता लगाएगा।

हम उपयोग कर रहे हैं 1x (पंक्तियों की किसी भी संख्या के साथ बिल्कुल एक कॉलम) के समान प्रभाव प्राप्त करने के लिए यहां -append। के बिना -tile 1x, यह छवियों में शामिल होगा +append, के लिए डिफ़ॉल्ट -tile x1 (एक पंक्ति पर स्तंभों की संख्या)।

(देख ImageMagick उदाहरण: मोंटेज, छवियों के Arrays।)


226
2018-05-30 19:37



धन्यवाद। संलग्न काम ठीक है, लेकिन मैं मोंटेज टूटा हुआ मानता हूं: यदि भूतस्क्रिप्ट फोंट स्थापित नहीं हैं, तो यह जमानत होगी, भले ही आप छवियों को एनोटेट नहीं कर रहे हों। फ़ॉन्ट्स को मांग पर लोड किया जाना चाहिए, पहले से नहीं। - Bram
@Bram: मुझे यह नहीं पता था और दृढ़ता से सहमत हैं। क्या आपको पता है कि ग्राफिक्स मैगिक वही व्यवहार करता है? - peth
मैं हर दूसरी छवि कैसे छोड़ूँगा? मैं एक सबसेट - इन-1, इन-3, इन -5, आदि को पार्स करना चाहता हूं .. - Mike Robinson
@MikeRobinson convert -append `counter=0; for x in in-*; do if [[ $(($counter % 2)) == 0 ]]; then echo $x; fi; counter=$((counter + 1)); done` out.jpg नौकरी करना चाहिए - gozzilli
@peth: आपका उत्तर एक उदाहरण के साथ शुरू होता है convert आदेश है कि है -append  से पहले इनपुट फ़ाइल नाम। एक अनाम उपयोगकर्ता ने एक उदाहरण जोड़ा +append  बाद इनपुट फ़ाइल नाम। क्या ये दोनों वैध हैं? क्या आदेश महत्वपूर्ण है? - Scott