स्कैन किए गए चित्रों और फ़ॉर्मों से टेक्स्ट पार्स करने के लिए फ्री जावास्क्रिप्ट लाइब्रेरी

वेब या Node.js एप्लिकेशन में इमेज प्रीप्रोसेसिंग और टेम्प्लेट सपोर्ट के साथ काले-और-सफ़ेद स्कैन किए गए चित्रों और दस्तावेज़ों से टेक्स्ट पार्स करने के लिए ओपन सोर्स ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) जावास्क्रिप्ट लाइब्रेरी।

आधुनिक डिजिटल दुनिया में, ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) तकनीक स्कैन किए गए चित्रों, हाथ से लिखे नोट्स या प्रिंटेड दस्तावेज़ों को संपादन योग्य और खोज योग्य डेटा में बदलने में महत्वपूर्ण भूमिका निभाती है। हल्के और ओपन‑सोर्स समाधान की तलाश में जावास्क्रिप्ट डेवलपर्स के लिए Guten OCR एक आकर्षक विकल्प प्रस्तुत करता है। यह जावास्क्रिप्ट‑आधारित OCR इंजन सरलता को ध्यान में रखकर बनाया गया है, जिससे यह ब्राउज़र‑आधारित या Node.js एप्लिकेशन में सीधे OCR सुविधाओं को एम्बेड करने के लिए आदर्श बन जाता है। लाइब्रेरी में कई महत्वपूर्ण फीचर शामिल हैं, जैसे टेम्प्लेट्स के माध्यम से कैरेक्टर रिकग्निशन, इमेज थ्रेशहोल्डिंग और बाइनराइज़ेशन, कैरेक्टर सेगमेंटेशन, टेम्प्लेट मैचिंग और टेक्स्ट असेंबली, मॉड्यूलर कोडबेस सपोर्ट आदि। यह काले‑और‑सफ़ेद स्कैन किए गए दस्तावेज़ों से प्रिंटेड टेक्स्ट को पहचानने पर केंद्रित है और पुस्तकों या फ़ॉर्मों जैसे अच्छी तरह फ़ॉर्मेटेड टेक्स्ट के लिए सबसे उपयुक्त है।

Guten OCR एक ओपन‑सोर्स जावास्क्रिप्ट OCR इंजन है जिसे Gutenye ने बनाया है। भारी‑वजन वाले OCR टूल्स के विपरीत, जिन्हें बाहरी डिपेंडेंसी या विस्तृत सेटअप की आवश्यकता होती है, Guten OCR पूरी तरह जावास्क्रिप्ट में लिखा गया है, जिसका अर्थ है कि यह वेब ब्राउज़र या Node.js सर्वर दोनों में चल सकता है। लाइब्रेरी बुनियादी इमेज प्रोसेसिंग तकनीकों का उपयोग करके कैरेक्टर को सेगमेंट करती है और उन्हें एक कैरेक्टर पैटर्न रिकग्निशन सिस्टम के माध्यम से पहचानती है। जबकि यह अभी तक Tesseract जैसे व्यावसायिक OCR इंजनों के बहुभाषी या हाथ‑लिखित टेक्स्ट समर्थन के मामले में प्रतिस्पर्धा नहीं कर सकता, इसकी सरलता और हैक‑एबिलिटी इसे शैक्षिक प्रोजेक्ट्स, प्रूफ़‑ऑफ़‑कॉन्सेप्ट्स, या कस्टम वेब ऐप्स में एम्बेडेड OCR फीचर्स के लिए एक शानदार विकल्प बनाती है। Tesseract या अन्य बड़े इंजनों के विपरीत, Guten OCR जानबूझकर हल्का और केंद्रित है—जिससे यह उन लोगों के लिए एक उत्कृष्ट शुरुआती बिंदु बनता है जो OCR के मूल सिद्धांतों को समझना चाहते हैं।

Previous Next

Guten OCR के साथ शुरुआत करना

Guten OCR स्थापित करने की अनुशंसित विधि Brew का उपयोग करना है। सुगम स्थापना के लिए कृपया नीचे दिया गया कमांड उपयोग करें

Install Guten OCR via Brew

 brew install git-lfs 

Install Guten OCR via GitHub

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

आप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉजिटरी से डाउनलोड करें।

OCR ऑपरेशन्स से पहले इमेज प्रीप्रोसेसिंग

ओपन सोर्स Guten OCR लाइब्रेरी पूरी तरह जावास्क्रिप्ट में लिखी गई है, जिससे यह ब्राउज़र और Node.js दोनों वातावरण के साथ संगत है। इसमें बिल्ट‑इन इमेज प्रीप्रोसेसिंग फ़ंक्शन शामिल हैं जो पहचान की सटीकता को बढ़ाते हैं। यह इमेज बाइनराइज़ेशन (काला‑सफ़ेद में बदलना), शोर कम करना, स्क्यू सुधार और अधिक को सपोर्ट करता है। नीचे दिया गया उदाहरण दिखाता है कि डेवलपर्स इमेज पर OCR ऑपरेशन करने से पहले कई प्रीप्रोसेसिंग स्टेप्स कैसे लागू कर सकते हैं।

How to Apply Image Preprocessing before OCR Operation via JavaScript Library?

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(/* ... */);

टेम्प्लेट्स के माध्यम से कैरेक्टर रिकग्निशन

जावास्क्रिप्ट लाइब्रेरी Guten OCR ने जावास्क्रिप्ट एप्लिकेशन के भीतर टेम्प्लेट्स का उपयोग करके OCR ऑपरेशन्स करने के लिए पूर्ण समर्थन प्रदान किया है। Guten OCR के केंद्र में एक टेम्प्लेट‑मैचिंग सिस्टम है। मशीन लर्निंग मॉडल को ट्रेन करने के बजाय, यह पूर्वनिर्धारित कैरेक्टर पैटर्न का उपयोग करता है। यह सिस्टम को तेज़ और समझने में आसान बनाता है, लेकिन फ़ॉन्ट और लेआउट स्थिरता के प्रति अधिक संवेदनशील बनाता है। इस कार्य को करने के लिए लाइब्रेरी प्रत्येक कैरेक्टर (A–Z, a–z, 0–9, आदि) को कैनवास में रेंडर करती है और फिर प्रत्येक कैरेक्टर के लिए बाइनरी मैट्रिक्स को रेफ़रेंस टेम्प्लेट बनाती है। जब इमेज का विश्लेषण किया जाता है, लाइब्रेरी इन टेम्प्लेट्स के विरुद्ध इमेज सेगमेंट्स की तुलना करती है ताकि सबसे अच्छा मिलान मिल सके। यह वर्टिकल और हॉरिज़ॉन्टल लाइन स्कैनिंग के संयोजन का उपयोग करके बाउंडिंग बॉक्स खोजती है।

OCR लाइब्रेरी के माध्यम से कैरेक्टर सेगमेंटेशन

ओपन सोर्स जावास्क्रिप्ट लाइब्रेरी Guten OCR सॉफ्टवेयर डेवलपर्स को आसानी से कैरेक्टर सेगमेंटेशन करने में सक्षम बनाती है। एक बार इमेज बाइनराइज़्ड हो जाने पर, अगला कदम व्यक्तिगत कैरेक्टर को सेगमेंट करना होता है। Guten OCR पंक्तियों और कॉलमों को स्कैन करके घने काले पिक्सेल वाले क्षेत्रों का पता लगाता है, जिन्हें संभावित कैरेक्टर में विभाजित किया जाता है। नीचे दिया गया उदाहरण दर्शाता है कि सॉफ्टवेयर डेवलपर्स जावास्क्रिप्ट OCR लाइब्रेरी का उपयोग करके कैरेक्टर सेगमेंटेशन कैसे कर सकते हैं।

How to Perform Character Segmentation using JavaScript Library?

const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]
 हिन्दी