1. পণ্য
  2.   OCR
  3.   JavaScript
  4.   Guten OCR
 
  

স্ক্যান করা ছবি ও ফর্ম থেকে টেক্সট পার্স করার জন্য ফ্রি জাভাস্ক্রিপ্ট লাইব্রেরি

ওপেন সোর্স অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) জাভাস্ক্রিপ্ট লাইব্রেরি, যা ব্ল্যাক-এন্ড-হোয়াইট স্ক্যান করা ইমেজ ও ডকুমেন্ট থেকে টেক্সট পার্স করার জন্য, ইমেজ প্রি-প্রসেসিং ও টেমপ্লেট সাপোর্ট সহ, ওয়েব বা Node.js অ্যাপ্লিকেশনে ব্যবহার করা যায়।

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

গুটেন OCR হল গুটেনই দ্বারা তৈরি একটি ওপেন-সোর্স জাভাস্ক্রিপ্ট OCR ইঞ্জিন। ভারী OCR টুলগুলোর মতো যা বাহ্যিক নির্ভরতা বা বিস্তৃত সেটআপ প্রয়োজন, গুটেন OCR সম্পূর্ণভাবে জাভাস্ক্রিপ্টে লেখা, যার মানে এটি ওয়েব ব্রাউজার বা Node.js সহ সার্ভারে চালানো যায়। লাইব্রেরিটি মৌলিক ইমেজ প্রসেসিং কৌশল ব্যবহার করে অক্ষরগুলোকে ভাগ করে এবং একটি ক্যারেক্টার প্যাটার্ন রিকগনিশন সিস্টেমের মাধ্যমে সনাক্ত করে। যদিও এটি এখনও টেসার্যাক্টের মতো বাণিজ্যিক OCR ইঞ্জিনের সঙ্গে বহুভাষিক বা হ্যান্ডরাইটেন টেক্সট সমর্থনে প্রতিযোগিতা করতে পারে না, এর সরলতা এবং হ্যাকযোগ্যতা এটিকে শিক্ষামূলক প্রকল্প, প্রুফ-অফ-কনসেপ্ট বা কাস্টম ওয়েব অ্যাপে এমবেডেড OCR ফিচারের জন্য চমৎকার বিকল্প করে তোলে। টেসার্যাক্ট বা অন্যান্য বড় ইঞ্জিনের তুলনায়, গুটেন OCR ইচ্ছাকৃতভাবে হালকা এবং কেন্দ্রীভূত—যা OCR কীভাবে কাজ করে তা বুঝতে চাওয়া লোকদের জন্য একটি চমৎকার সূচনা বিন্দু করে তোলে।

Previous Next

Guten OCR দিয়ে শুরু করা

গুটেন OCR ইনস্টল করার সুপারিশকৃত পদ্ধতি হল Brew ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য দয়া করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন

Brew এর মাধ্যমে Guten OCR ইনস্টল করুন

 brew install git-lfs 

GitHub এর মাধ্যমে Guten OCR ইনস্টল করুন

 git clone git@github.com:gutenye/ocr.git 

আপনি এটিও ম্যানুয়ালি ইনস্টল করতে পারেন; সর্বশেষ রিলিজ ফাইলগুলি সরাসরি GitHub রিপোজিটরি থেকে ডাউনলোড করুন।

OCR অপারেশনের আগে ইমেজ প্রি-প্রসেসিং

ওপেন সোর্স Guten OCR লাইব্রেরি সম্পূর্ণভাবে জাভাস্ক্রিপ্টে লেখা হয়েছে, যা ব্রাউজার এবং Node.js উভয় পরিবেশের সাথে সামঞ্জস্যপূর্ণ করে। এতে স্বয়ংসম্পূর্ণ ইমেজ প্রি-প্রসেসিং ফাংশন রয়েছে যা স্বীকৃতি নির্ভুলতা বাড়ায়। এটি ইমেজ বাইনারাইজেশন (কলা-সাদা রূপান্তর), নয়েজ রিডাকশন, স্কিউ সংশোধন এবং আরও অনেক কিছু সমর্থন করে। নিম্নলিখিত উদাহরণটি দেখায় কীভাবে ডেভেলপাররা OCR অপারেশন করার আগে একাধিক ইমেজ প্রি-প্রসেসিং ধাপ প্রয়োগ করতে পারেন।

JavaScript লাইব্রেরি ব্যবহার করে OCR অপারেশনের আগে কীভাবে ইমেজ প্রি-প্রসেসিং প্রয়োগ করবেন?

const { preprocess } = require('guten-ocr');

// Apply multiple preprocessing steps
const processedImage = preprocess(imageData, [
  'grayscale',    // Convert to grayscale
  'binarize',     // Convert to black and white
  'deskew',       // Correct skew
  'denoise'       // Reduce noise
]);

// Then perform OCR on the processed image
ocr.recognize(processedImage).then(/* ... */);

টেমপ্লেটের মাধ্যমে ক্যারেক্টার রিকগনিশন

JavaScript লাইব্রেরি Guten OCR জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের মধ্যে টেমপ্লেট ব্যবহার করে OCR অপারেশন সম্পাদনের জন্য সম্পূর্ণ সমর্থন প্রদান করেছে। Guten OCR-এর মূল হল একটি টেমপ্লেট-ম্যাচিং সিস্টেম। মেশিন লার্নিং মডেল প্রশিক্ষণের পরিবর্তে, এটি পূর্বনির্ধারিত অক্ষরের প্যাটার্ন ব্যবহার করে। এটি সিস্টেমকে দ্রুত এবং সহজে বোঝা যায়, তবে ফন্ট এবং লেআউটের সামঞ্জস্যের প্রতি আরও সংবেদনশীল করে। এই কাজটি সম্পাদন করতে, লাইব্রেরি প্রতিটি অক্ষর (A–Z, a–z, 0–9, ইত্যাদি) একটি ক্যানভাসে রেন্ডার করে এবং তারপর প্রতিটি অক্ষরের জন্য বাইনারি ম্যাট্রিক্স একটি রেফারেন্স টেমপ্লেট হয়ে যায়। যখন একটি ছবি বিশ্লেষণ করা হয়, লাইব্রেরি এই টেমপ্লেটগুলোর বিরুদ্ধে ছবির সেগমেন্টগুলি তুলনা করে সেরা মিল খুঁজে পায়। এটি উল্লম্ব এবং অনুভূমিক লাইন স্ক্যানিংয়ের সমন্বয় ব্যবহার করে বাউন্ডিং বক্সগুলি সনাক্ত করে।

OCR লাইব্রেরি ব্যবহার করে ক্যারেক্টার সেগমেন্টেশন

ওপেন সোর্স JavaScript লাইব্রেরি Guten OCR সফটওয়্যার ডেভেলপারদেরকে সহজে ক্যারেক্টার সেগমেন্টেশন সম্পাদন করতে সক্ষম করে। একবার ছবি বাইনারাইজড হলে, পরবর্তী ধাপ হল পৃথক অক্ষরগুলোকে সেগমেন্ট করা। Guten OCR সারি এবং কলাম স্ক্যান করে ঘন কালো পিক্সেলযুক্ত অঞ্চলগুলি সনাক্ত করে, সেগুলোকে সম্ভাব্য অক্ষরে ভাগ করে। নিম্নলিখিত উদাহরণটি দেখায় কীভাবে সফটওয়্যার ডেভেলপাররা JavaScript OCR লাইব্রেরি ব্যবহার করে ক্যারেক্টার সেগমেন্টেশন সম্পাদন করতে পারেন।

JavaScript লাইব্রেরি ব্যবহার করে কীভাবে ক্যারেক্টার সেগমেন্টেশন করবেন?

const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]
 বাংলা