ইমেজম্যাগিক ব্যবহার করে একাধিক চিত্র একত্রিত করুন


166

আমি ইমেজম্যাগিক ব্যবহার করে এক সাথে একাধিক চিত্র একত্রিত করতে চাই। কিছুটা আরও ভালভাবে ব্যাখ্যা করার জন্য, আমি ফলাফলটি দেখতে এর অনুরূপ দেখতে চাই:

এটি হ'ল আমার কাছে বেশ কয়েকটি স্ক্রিনশট রয়েছে এবং আমি একে অপরের শীর্ষে মূল চিত্রগুলি দিয়ে একটি চিত্রতে রূপান্তর করতে চাই।

গুগলিংয়ের মাধ্যমে, আমি 'কমপোজেট' কমান্ডটি পেয়েছি, তবে আমি জানি না এবং কীভাবে আমি কীভাবে ফলাফলটি পেতে চাই তা এটি ব্যবহার করতে পারি।



উত্তর:


256

নামের যে কোনও সংখ্যক ইনপুট ফাইলের জন্য :in-<something>.jpg

convert -append in-*.jpg out.jpg

নির্দিষ্ট ফাইল সংযুক্ত করার জন্য, বা পূর্ণ "গ্লোব" পাওয়ার পরিবর্তে সংখ্যাগুলি এড়িয়ে যাওয়ার জন্য, আপনি ইনপুট ফাইলগুলি স্পষ্টভাবে উল্লেখ করতে পারেন এবং appendকমান্ডটি পরে রেখে দিতে পারেন

In -1.jpg in-5.jpg in- N .jpg + append out-in1-Plus-in5-and-in N .jpg এ রূপান্তর করুন

উল্লম্ব পেস্ট-আপ করার জন্য আপনি -append(এর পরিবর্তে +append) ব্যবহার করতে পারেন ।

বা:

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

out.jpgউত্স চিত্রগুলির একটি উল্লম্ব সংমিশ্রণযুক্ত একটি ফাইলও তৈরি করবে ।

convert

একটি একক সারি বা কলামে সরল কাঠের appendজন্য, convertসরঞ্জামটির বিকল্পটি যথেষ্ট। নোট করুন যে -appendসমস্ত চিত্রগুলিকে উল্লম্বভাবে সম্মিলিত করে এন সারিগুলির সাথে একটি কলাম তৈরি করবে এবং এন কলামগুলির +appendসাথে একটি সারি তৈরি করে অনুভূমিকভাবে সংক্ষিপ্ত করে তুলবে ।

( চিত্রম্যাগিক দেখুন : কমান্ড-লাইন বিকল্পসমূহ ))

montage

বিন্যাসের উপর আরও ভাল নিয়ন্ত্রণ পেতে, আমাদের montageসরঞ্জামটি প্রয়োজন need বিকল্পের montage -mode concatenateমতো ইনপুট চিত্রগুলি একসাথে আঠালো করবে appendএবং -tile 1xপ্রয়োগ করতে হবে লেআউটটিকে নিয়ন্ত্রণ করবে।

tileবিন্যাস কলামগুলি × সারি অনুসরণ করে তবে উভয় পক্ষই অনুপস্থিত এবং montageকীভাবে সীমাবদ্ধতাগুলি পূরণ করতে পারে তা নির্ধারণ করবে।

এর 1xহিসাবে একই প্রভাব পেতে আমরা এখানে (যে কোনও সংখ্যক সারি সহ ঠিক একটি কলাম) ব্যবহার করছি -append। ছাড়াই -tile 1x, এটি চিত্রগুলিতে যোগদান করবে +append, ডিফল্ট করে -tile x1(এক সারিতে যে কোনও কলামের সংখ্যা))

( চিত্রম্যাগিক উদাহরণ দেখুন : মন্টেজ, চিত্রগুলির অ্যারে ।)


1
ধন্যবাদ। অ্যাপেন্ড ভাল কাজ করে তবে আমি মনটেইজটি ভাঙ্গা বিবেচনা করি: যদি ভূস্ট্রিপ্ট ফন্টগুলি ইনস্টল না করা থাকে তবে তা জামিনত হয়ে যাবে, এমনকি যদি আপনি চিত্রগুলি বর্ননা না করে থাকেন। ফন্টগুলি চাহিদা অনুযায়ী লোড করা উচিত, আগে নয়।
ব্রাম

@ ব্র্যাম: আমি তা জানতাম না এবং দৃ strongly়ভাবে সম্মত ছিলাম। গ্রাফিক্সম্যাগিক যদি একই আচরণ করে তবে আপনি কি জানেন?
পেথ

2
@ মাইকরোবিনসনের কাজটি করা convert -append `counter=0; for x in in-*; do if [[ $(($counter % 2)) == 0 ]]; then echo $x; fi; counter=$((counter + 1)); done` out.jpgউচিত।
গোজিলি

2
নোট করুন, convert -tile 2x2ইত্যাদি কমান্ড ফাইলগুলি বর্ণানুক্রমিকভাবে পড়বে । এর অর্থ হ'ল নামক অংশগুলি 0-10পড়তে হবে 0,10,1,2,..,9। এই বেসিকটি কিছু বুঝতে আমাকে প্রায় 2 ঘন্টা সময় নিয়েছে।
ব্লুহিরন

1
@ ব্লাউহিরন: ফাইলের নামগুলি বাছাই করা কি এটি রূপান্তরকারী, বা কেবল আপনার গ্লোব সেই ফাইলগুলিকে সেই ক্রমে ফিরিয়ে আনছে? যেমন ls *ক্রমানুসারে সেই মানগুলি ফিরিয়ে দেবে।
nnot101
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.