ছবি তুলনা করতে ওপেন সোর্স JavaScript API
জাভাস্ক্রিপ্ট লাইব্রেরি সফটওয়্যার প্রোগ্রামারদের নোড বা ব্রাউজার ইত্যাদির মতো একাধিক পরিবেশে দুটি ছবি তুলনা করতে সক্ষম করে।
কখনও কখনও দুটি চিত্রের তুলনা করতে হয় যে তারা কতটা মিল তা দেখতে। এটি একটি খুব জটিল প্রক্রিয়া এবং এটি সম্পন্ন করার জন্য ভাল জ্ঞান প্রয়োজন। যেকোনো পরিবেশে দুটি ছবি তুলনা করার জন্য ওপেন সোর্স পিক্সেলম্যাচ লাইব্রেরি একটি খুব দরকারী পছন্দ হতে পারে। যেহেতু লাইব্রেরির কোনো নির্ভরতা নেই এবং ইমেজ ডেটার কাঁচা টাইপ করা অ্যারেতে কাজ করে, তাই নোড বা ব্রাউজার ইত্যাদির মতো একাধিক পরিবেশে ব্যবহার করা যেতে পারে।
পিক্সেলম্যাচ আকারে খুব ছোট এবং ব্যবহার করা খুব সহজ কিন্তু এটি একটি খুব দ্রুত পিক্সেল-স্তরের চিত্র তুলনা লাইব্রেরি। এটি জাভাস্ক্রিপ্টে লেখা এবং প্রাথমিকভাবে পরীক্ষায় স্ক্রিনশট তুলনা করার জন্য তৈরি করা হয়েছে। লাইব্রেরি অ্যান্টি-অ্যালাইজড পিক্সেল সনাক্তকরণ এবং উপলব্ধিগত রঙের পার্থক্য মেট্রিক্সের মতো বৈশিষ্ট্যগুলিকে সমর্থন করে।
অ্যান্টি-আলিয়াসিং সনাক্তকরণ একটি খুব দরকারী বৈশিষ্ট্য কারণ সাধারণত এটি লক্ষ্য করা গেছে যে বিভিন্ন অ্যাপ্লিকেশন, ডিভাইস বা অপারেটিং সিস্টেমে একই ডেটা রেন্ডার করা সামান্য ভিন্ন ফলাফল তৈরি করতে পারে। তবে বেশির ভাগ অর্থপূর্ণ ডেটা ক্যাপচার করতে এই ছোট পার্থক্য বা পরীক্ষাগুলিকে উপেক্ষা করার পরামর্শ দেওয়া হয়।
pixelmatch দিয়ে শুরু করা হচ্ছে
পিক্সেলম্যাচ ইনস্টল করার প্রস্তাবিত উপায় হল NPM এর মাধ্যমে। এটি ইনস্টল করতে নিম্নলিখিত কমান্ড ব্যবহার করুন.
NPM এর মাধ্যমে pixelmatch ইনস্টল করুন
npm install pixelmatch
পিক্সেল ম্যাচ টেস্টিং কি?
আপনি যদি দুটি চিত্রের মধ্যে কোন পার্থক্য আছে কিনা তা পরীক্ষা করার জন্য তুলনা করতে চান তবে আপনি এই উদ্দেশ্যে পিক্সেল ম্যাচ টেস্টিং ব্যবহার করতে পারেন। দুই ধরনের ছবি হতে পারে, আসল ছবি এবং পরিবর্তিত ছবি। আপনি এমন একটি অ্যাপ্লিকেশন ব্যবহার করতে পারেন যা আপনার অ্যাপের স্ক্রিনশট থেকে চিত্রগুলি আনতে পারে এবং তারপরে, চিত্র তুলনা লাইব্রেরিটি এই চিত্রগুলি তুলনা করতে এবং ফলাফলগুলি প্রদর্শন করতে ব্যবহার করা যেতে পারে।
জাভাস্ক্রিপ্ট লাইব্রেরির মাধ্যমে ছবি তুলনা করা
ওপেন সোর্স লাইব্রেরি pixelmatch সহজে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের ভিতরে ছবি তুলনা করার জন্য সম্পূর্ণ কার্যকারিতা প্রদান করেছে। সফ্টওয়্যার ডেভেলপারদের তুলনার জন্য ইমেজ ডেটা প্রদান করতে হবে সেইসাথে আউটপুট জায়গা যেখানে পার্থক্য সহ ইমেজ ডেটা লিখতে হবে। তারা তিনটি চিত্রের প্রস্থ এবং উচ্চতা যা মাত্রা প্রদান করতে হবে। আপনি থ্রেশহোল্ড বিকল্পটি ব্যবহার করতে পারেন যা চিত্রগুলিকে কিছুটা আলাদা হতে দেয় যা কিছু ক্ষেত্রে দুর্দান্ত হতে পারে। অনুগ্রহ করে মনে রাখবেন যে পিক্সেলম্যাচ লাইব্রেরির প্রয়োজন যে চিত্রগুলি অবশ্যই একই আকারের হতে হবে।
জাভাস্ক্রিপ্ট API এর মাধ্যমে ছবি তুলনা অনলাইন
const img1 = img1Context.getImageData(0, 0, width, height);
const img2 = img2Context.getImageData(0, 0, width, height);
const diff = diffContext.createImageData(width, height);
pixelmatch(img1.data, img2.data, diff.data, width, height, {threshold: 0.1});
diffContext.putImageData(diff, 0, 0);
Pixelmatch এর মাধ্যমে Node.js-এ ছবি তুলনা করুন
const fs = require('fs');
const PNG = require('pngjs').PNG;
const pixelmatch = require('pixelmatch');
const img1 = PNG.sync.read(fs.readFileSync('img1.png'));
const img2 = PNG.sync.read(fs.readFileSync('img2.png'));
const {width, height} = img1;
const diff = new PNG({width, height});
pixelmatch(img1.data, img2.data, diff.data, width, height, {threshold: 0.1});
fs.writeFileSync('diff.png', PNG.sync.write(diff));