स्कैन किए गए चित्रों और फ़ॉर्मों से पाठ पार्स करने के लिए मुफ्त जावास्क्रिप्ट लाइब्रेरी
ब्लैक-एंड-व्हाइट स्कैन किए गए चित्रों और दस्तावेज़ों से टेक्स्ट पार्स करने के लिए इमेज प्रीप्रोसेसिंग और टेम्प्लेट समर्थन के साथ वेब या Node.js ऐप्स में उपयोग हेतु ओपन सोर्स ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) जावास्क्रिप्ट लाइब्रेरी।
आधुनिक डिजिटल दुनिया में, ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) तकनीक स्कैन किए गए चित्रों, हाथ से लिखे नोट्स, या मुद्रित दस्तावेज़ों को संपादन योग्य और खोज योग्य डेटा में बदलने में महत्वपूर्ण भूमिका निभाती है। जावास्क्रिप्ट डेवलपर्स के लिए जो हल्के और ओपन-सोर्स समाधान की तलाश में हैं, Guten OCR एक आकर्षक विकल्प प्रदान करता है। यह जावास्क्रिप्ट-आधारित OCR इंजन सरलता को ध्यान में रखकर बनाया गया है, जिससे यह ब्राउज़र-आधारित या Node.js अनुप्रयोगों में सीधे OCR सुविधाओं को एम्बेड करने के लिए आदर्श बनता है। लाइब्रेरी में कई महत्वपूर्ण विशेषताएँ शामिल हैं, जैसे टेम्प्लेट के माध्यम से कैरेक्टर पहचान, इमेज थ्रेशहोल्डिंग और बाइनराइज़ेशन, कैरेक्टर सेगमेंटेशन, टेम्प्लेट मिलान और टेक्स्ट असेंबली, मॉड्यूलर कोडबेस समर्थन आदि। यह काली-और-सफ़ेद स्कैन किए गए दस्तावेज़ों से मुद्रित टेक्स्ट की पहचान पर केंद्रित है और पुस्तकों या फ़ॉर्म जैसे अच्छी तरह से स्वरूपित टेक्स्ट के लिए सबसे उपयुक्त है।
गुटेन OCR एक ओपन-सोर्स जावास्क्रिप्ट OCR इंजन है जिसे गुटेनये ने बनाया है। भारी-भरकम OCR टूल्स के विपरीत, जिन्हें बाहरी निर्भरताओं या विस्तृत सेटअप की आवश्यकता होती है, गुटेन OCR पूरी तरह से जावास्क्रिप्ट में लिखा गया है, जिसका अर्थ है कि यह वेब ब्राउज़र में या Node.js के साथ सर्वर पर चल सकता है। यह लाइब्रेरी बुनियादी इमेज प्रोसेसिंग तकनीकों का उपयोग करके अक्षरों को विभाजित करती है और एक कैरेक्टर पैटर्न रिकग्निशन सिस्टम के माध्यम से उन्हें पहचानती है। जबकि यह अभी तक टेस्सरैक्ट जैसे व्यावसायिक OCR इंजन के बहुभाषी या हस्तलिखित टेक्स्ट समर्थन के मामले में प्रतिस्पर्धा नहीं कर सकता, इसकी सरलता और हैकबिलिटी इसे शैक्षिक प्रोजेक्ट्स, प्रूफ़-ऑफ़-कॉन्सेप्ट्स, या कस्टम वेब ऐप्स में एम्बेडेड OCR फीचर्स के लिए एक शानदार विकल्प बनाती है। टेस्सरैक्ट या अन्य बड़े इंजनों के विपरीत, गुटेन OCR जानबूझकर हल्का और केंद्रित है—जिससे यह उन लोगों के लिए एक उत्कृष्ट प्रारंभिक बिंदु बनता है जो समझना चाहते हैं कि OCR कैसे काम करता है।
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 ऑपरेशन करने से पहले कई इमेज प्रीप्रोसेसिंग चरण कैसे लागू कर सकते हैं।
जावास्क्रिप्ट लाइब्रेरी के माध्यम से 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(/* ... */);
टेम्प्लेट्स के माध्यम से कैरेक्टर रिकग्निशन
जावास्क्रिप्ट लाइब्रेरी Guten OCR ने जावास्क्रिप्ट एप्लिकेशन के भीतर टेम्प्लेट्स का उपयोग करके OCR संचालन करने के लिए पूर्ण समर्थन प्रदान किया है। Guten OCR के केंद्र में एक टेम्प्लेट-मैचिंग सिस्टम है। मशीन लर्निंग मॉडल को प्रशिक्षित करने के बजाय, यह पूर्वनिर्धारित अक्षर पैटर्न का उपयोग करता है। इससे सिस्टम तेज़ और समझने में आसान बनता है, लेकिन फ़ॉन्ट और लेआउट की स्थिरता के प्रति अधिक संवेदनशील होता है। इस कार्य को करने के लिए लाइब्रेरी प्रत्येक अक्षर (A–Z, a–z, 0–9, आदि) को कैनवास में रेंडर करती है और फिर प्रत्येक अक्षर के लिए बाइनरी मैट्रिक्स एक संदर्भ टेम्प्लेट बन जाता है। जब किसी छवि का विश्लेषण किया जाता है, तो लाइब्रेरी इन टेम्प्लेट्स के विरुद्ध छवि खंडों की तुलना करती है ताकि सबसे अच्छा मिलान मिल सके। यह वर्टिकल और हॉरिज़ॉन्टल लाइन स्कैनिंग के संयोजन का उपयोग करके बाउंडिंग बॉक्स को खोजता है।
OCR लाइब्रेरी के माध्यम से कैरेक्टर सेगमेंटेशन
ओपन सोर्स जावास्क्रिप्ट लाइब्रेरी Guten OCR सॉफ़्टवेयर डेवलपर्स को आसानी से कैरेक्टर सेगमेंटेशन करने में सक्षम बनाती है। एक बार छवि बाइनराइज़ हो जाने के बाद, अगला कदम व्यक्तिगत अक्षरों को विभाजित करना होता है। Guten OCR पंक्तियों और स्तंभों को स्कैन करके घने काले पिक्सेल वाले क्षेत्रों का पता लगाता है, उन्हें संभावित अक्षरों में विभाजित करता है। निम्नलिखित उदाहरण दर्शाता है कि सॉफ़्टवेयर डेवलपर्स जावास्क्रिप्ट OCR लाइब्रेरी का उपयोग करके कैरेक्टर सेगमेंटेशन कैसे कर सकते हैं।
जावास्क्रिप्ट लाइब्रेरी का उपयोग करके कैरेक्टर सेगमेंटेशन कैसे करें?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]