হ্যাঁ, ভাল পুরানো জিআইএফ বহুমুখীতার জন্য পছন্দ, তার পেটেন্টদের জন্য ঘৃণা এবং এর সীমাবদ্ধতার কারণে (এবং পেটেন্টগুলি) আংশিকভাবে অপ্রচলিত, জিআইএফ মূলত একটি রঙ প্যালেট এবং এলজেডব্লিউ অ্যালগরিদম ব্যবহার করে সংকুচিত একটি প্যালেট-সূচিযুক্ত চিত্র ধারণ করে।
আপনার কাজটি এমন একটি প্রোগ্রাম লিখুন যা স্ট্যান্ডার্ড ইনপুট থেকে ASCII পিপিএম ফর্ম্যাটে ("P3" ম্যাজিক নম্বর) একটি চিত্র পড়ে এবং স্ট্যান্ডার্ড আউটপুটে একই চিত্র (অভিন্ন পিক্সেল-বাই-পিক্সেল) জিআইএফ ফর্ম্যাটে লেখেন। আউটপুট হয় বাইনারি আকারে, বা ASCII পাঠ্য প্রতিটি বাইট সহ 0 এবং 255 (অন্তর্ভুক্ত) এর মধ্যে একটি সংখ্যা দ্বারা উপস্থাপিত হয়, যা সাদা স্থান দ্বারা পৃথক করা হয়।
ইনপুট চিত্রটিতে 256 টিরও বেশি রঙ না থাকার গ্যারান্টিযুক্ত।
স্কোরিং:
আপনার প্রোগ্রামটি 3 টি নমুনা চিত্রের উপর পরীক্ষা করা হবে এবং আপনার স্কোর হিসাবে গণনা করা হবে:
প্রোগ্রামের আকার + সমষ্টি (প্রতিটি নমুনা চিত্রের জন্য আউটপুট আকার - রেফারেন্স আকার)
সর্বনিম্ন স্কোর জয়।
প্রয়োজনীয়তা:
- আপনার প্রোগ্রামটি অবশ্যই বিভিন্ন আকারের যেকোন ধরণের চিত্রের সাথে কাজ করবে এবং নমুনা চিত্রগুলিতে সীমাবদ্ধ থাকবে না। উদাহরণস্বরূপ, আপনি মাত্রাগুলি 2 টির গুণিতকগুলিতে সীমাবদ্ধ করতে পারেন বা ধরে নিতে পারেন পিপিএম সর্বাধিক রঙ 255, তবে এটি এখনও বিভিন্ন ধরণের ইনপুট চিত্রের সাথে কাজ করা উচিত।
- আউটপুটটি অবশ্যই একটি বৈধ জিআইএফ ফাইল হতে হবে যা কোনও আনুগত্যমূলক প্রোগ্রামের সাথে লোড হতে পারে (ASCII আউটপুট বিকল্পটি ব্যবহার করে বাইনারিতে ফিরে রূপান্তর করার পরে)।
- আপনি কোনও ইমেজ প্রসেসিং ফাংশন (অন্তর্নির্মিত বা তৃতীয় পক্ষ) ব্যবহার করতে পারবেন না, আপনার প্রোগ্রামে অবশ্যই সমস্ত প্রাসঙ্গিক কোড থাকতে হবে।
- আপনার প্রোগ্রামটি লিনাক্সে অবাধে উপলভ্য সফ্টওয়্যার ব্যবহার করে চলতে হবে।
- উত্স কোডটিতে কেবলমাত্র ASCII অক্ষর ব্যবহার করা উচিত।
নমুনা চিত্র:
এখানে 3 টি নমুনা চিত্র যা স্কোর করার জন্য ব্যবহৃত হবে। আপনি পিপিএম ফাইলগুলির সাথে একটি জিপ সংরক্ষণাগার ডাউনলোড করতে পারেন (সেই পৃষ্ঠার শীর্ষে ডাউনলোড বোতামটি ব্যবহার করুন)। অথবা আপনি নীচের কমান্ডের সাথে চিত্রম্যাগিক ব্যবহার করে নীচের পিএনজি চিত্রগুলি থেকে তাদের রূপান্তর করতে পারেন:
convert file.png -compress none file.ppm
আমি নিশ্চিতকরণের জন্য পিপিএম ফাইলগুলির MD5 চেকসামও সরবরাহ করছি।
1. অ্যাম্বার
রেফারেন্সের আকার:
পিপিএমের 38055 এমডি 5 চেকসাম: d1ad863cb556869332074717eb278080
2. নীল চোখ
রেফারেন্সের আকার:
পিপিএমের 28638 এমডি 5 চেকসাম: e9ad410057a5f6c25a22a534259dcf3a
3. মরিচ
রেফারেন্সের আকার:
পিপিএমের 53586 এমডি 5 চেকসাম: 74112dbdbb8b7de5216f9e24c2e1a627