ইমেজ প্রসেসিংয়ের জন্য ওপেন সোর্স জাভাস্ক্রিপ্ট লাইব্রেরি

বিভিন্ন ধরনের ফিল্টার যেমন গাউসিয়ান, গ্রেস্কেল, হাইপাস, ইনভার্ট, ল্যাপ্লাসিয়ান, মিরর, আরজিবি, রবার্টস, স্যাচুরেশন এবং আরও অনেক কিছু ব্যবহার করে ছবিতে বিভিন্ন প্রভাব প্রয়োগ করার জন্য JavaScript API।

Lena.js হল একটি খুব সাধারণ হালকা ওজনের ইমেজ প্রসেসিং লাইব্রেরি যা সফটওয়্যার ডেভেলপারদের তাদের জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের ভিতর থেকে বিভিন্ন ধরনের ইমেজ নিয়ে কাজ করতে সক্ষম করে। এটি একটি বিশুদ্ধ জাভাস্ক্রিপ্ট লাইব্রেরি যা নোডের পাশাপাশি ইন-ব্রাউজারে কোনো বাহ্যিক নির্ভরতা ছাড়াই কাজ করতে পারে। লাইব্রেরিটি ওপেন সোর্স এবং এমআইটি লাইসেন্সের অধীনে উপলব্ধ। লাইব্রেরিটি ব্রাউজারের অভ্যন্তরে ভারী চিত্রগুলির সাথে খুব ভাল নয় তবে ছোট চিত্রগুলি পরিচালনার জন্য খুব দক্ষ।

Lena.js ব্যবহার করা খুবই সহজ এবং ইমেজে বিভিন্ন প্রভাব প্রয়োগ করতে পারে। ইমেজ ফিল্টারগুলি সফ্টওয়্যার অ্যাপগুলিকে শুধুমাত্র একটি ক্লিকের মাধ্যমে ছবিতে বিভিন্ন প্রভাব প্রয়োগ করতে সক্ষম করে৷ লাইব্রেরিতে বেশ কিছু গুরুত্বপূর্ণ ইমেজ ফিল্টারের সমর্থন অন্তর্ভুক্ত করা হয়েছে, কিছু গুরুত্বপূর্ণ হল গাউসিয়ান, গ্রেস্কেল, হাইপাস, ইনভার্ট, ল্যাপ্লাসিয়ান, মিরর, নয়েজ, প্রিউইট, আরজিবি, রবার্টস, স্যাচুরেশন, সেপিয়া, শার্পেন এবং আরও অনেক কিছু। লাইব্রেরিটি একটি ছবিতে একাধিক ফিল্টার প্রয়োগ করতেও সমর্থন করে। ফিল্টারগুলি একই গ্লোবাল ভেরিয়েবল LenaJS-এ সংরক্ষণ করা হয় এবং কী বা ডট নোটেশন ব্যবহার করে এর আইডির মাধ্যমে অ্যাক্সেস করা যায়।

Previous Next

LenaJs দিয়ে শুরু করা

NPM এর মাধ্যমে LenaJs ইনস্টল করার প্রস্তাবিত উপায়। এটি ইনস্টল করতে নিম্নলিখিত কমান্ড ব্যবহার করুন.

NPM এর মাধ্যমে Lena.Js ইনস্টল করুন

 npm install lena.js --save 

জাভাস্ক্রিপ্টের মাধ্যমে ছবিতে ফিল্টার প্রয়োগ করুন

ওপেন সোর্স Lena.js লাইব্রেরি একটি দরকারী ফিল্টার প্রদান করেছে যা JavaScript অ্যাপ্লিকেশনের ভিতরে ইমেজগুলিতে বিভিন্ন ধরনের প্রভাব প্রয়োগ করতে ব্যবহার করা যেতে পারে। প্রথমে অনুগ্রহ করে ছবিতে সঠিক ঠিকানা দিন এবং তারপর উপলব্ধ ফিল্টারগুলির তালিকা থেকে ফিল্টারটি নির্বাচন করুন৷ আপনি সহজেই নির্বাচিত ছবিতে একটি ফিল্টার প্রয়োগ করতে filterImage এবং redrawCanvas পদ্ধতি ব্যবহার করতে পারেন। ফিল্টার প্রয়োগ করতে একটি চিত্র এবং একটি ক্যানভাস ব্যবহার করা হবে৷

জাভাস্ক্রিপ্টের মাধ্যমে নয়েজ ফিল্টার যোগ করুন

 
const noise = function (pixels, amount = 0) {
  const level = amount * 255 * 0.1
  let random;
  for (let i = 0; i < pixels.data.length; i += 4) {
    random = (0.5 - Math.random()) * level;
    pixels.data[i] += random;
    pixels.data[i + 1] += random;
    pixels.data[i + 2] += random;
  }
  return pixels
}
export default noise
 

ছবিতে একাধিক ফিল্টার প্রয়োগ করা হচ্ছে

Lena.js লাইব্রেরি সফ্টওয়্যার বিকাশকারীদের তাদের নিজস্ব JavaScript অ্যাপের মধ্যে তাদের ছবিতে একাধিক ফিল্টার প্রয়োগ করতে সক্ষম করে। সাধারণত, ফিল্টার ইমেজ পদ্ধতিতে একটি ছবিতে একটি একক ফিল্টার প্রয়োগ করা হয়। একটি ছবিতে একাধিক ফিল্টার প্রয়োগ করতে আপনাকে filterImage এর পরিবর্তে redrawCanvas পদ্ধতি ব্যবহার করতে হবে। আপনাকে প্রথম আর্গুমেন্ট হিসাবে একটি ফিল্টার সহ ইতিমধ্যে রেন্ডার করা একটি চিত্র পাস করতে হবে এবং দ্বিতীয় যুক্তি হিসাবে একটি নতুন ফিল্টার পাস করতে হবে যা সহজেই চিত্রটিতে যুক্ত করা হবে৷

JavaScript API এর মাধ্যমে ছবি প্রসেস করা হচ্ছে

LenaJs লাইব্রেরি সফ্টওয়্যার প্রোগ্রামারদের জাভাস্ক্রিপ্টের ভিতরে ইমেজগুলিতে একটি ফিল্টার যোগ করার ক্ষমতা দেয়। LenaJs এর সাথে ফিল্টার প্রয়োগ করা বেশ সহজ, API ফিল্টার যোগ করার দুটি উপায় প্রদান করে; filterImage() এবং redrawCanvas()। ফিল্টার প্রয়োগ করার পদ্ধতিতে আপনাকে একটি চিত্র এবং একটি ক্যানভাস প্রদান করতে হবে। ফিল্টারটি পাওয়ার জন্য, আপনি LenaJs['filername'] পদ্ধতি ব্যবহার করতে পারেন এবং ফিল্টার ইমেজ() পদ্ধতি ব্যবহার করে ছবিতে এটি প্রয়োগ করতে পারেন।

ছবিতে বৈসাদৃশ্য ফিল্টার প্রয়োগ করুন<

 
const contrast = function (pixels, amount) {
  const level = Math.pow((amount + 100) / 100, 2)
  let data = pixels.data
  let r
  let g
  let b
  for (let i = 0; i < data.length; i += 4) {
    r = data[i]
    g = data[i + 1]
    b = data[i + 2]
    r = r / 255
    r -= 0.5
    r *= level
    r += 0.5
    r *= 255
    g = g / 255
    g -= 0.5
    g *= level
    g += 0.5
    g *= 255
    b = b / 255
    b -= 0.5
    b *= level
    b += 0.5
    b *= 255
    r = r < 0 ? 0 : r > 255 ? 255 : r
    g = g < 0 ? 0 : g > 255 ? 255 : g
    b = b < 0 ? 0 : b > 255 ? 255 : b
    data[i] = r
    data[i + 1] = g
    data[i + 2] = b
  }
  return pixels
}
export default contrast
 
 বাংলা