चाइनीज़ पांडुलिपियों के लिए मुफ्त ऑप्टिकल कैरेक्टर रिकग्निशन एपीआई
ओपन सोर्स C++ ओसीआर जो टेम्पलेट-आधारित मिलान का उपयोग करके चाइनीज़ पांडुलिपियों पर ओसीआर ऑपरेशन्स करता है, जहाँ अक्षरों को ज्ञात नमूनों के विरुद्ध पिक्सेल-वार मिलाया जाता है।
मुफ़्त C++ ओसीआर क्या है?
ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) गैर-लैटिन स्क्रिप्ट्स—विशेष रूप से चाइनीज़—में अक्षरों की जटिलता और विविधता के कारण अद्वितीय चुनौतियों का सामना करता है। सौभाग्य से, सेबेस्टियन स्टार्के द्वारा विकसित ओपन-सोर्स OCR C++ API प्रिंटेड या हस्तलिखित चाइनीज़ अक्षरों को पहचानने के लिए एक साफ़, विस्तारणीय समाधान प्रदान करता है, विशेष रूप से पांडुलिपि स्रोतों से। सरलता और अनुकूलनशीलता को ध्यान में रखकर डिज़ाइन किया गया यह हल्का API सॉफ़्टवेयर डेवलपर्स को भारी मशीन लर्निंग मॉडल के बजाय क्लासिकल इमेज प्रोसेसिंग विधियों का उपयोग करके कैरेक्टर रिकग्निशन के साथ प्रयोग करने की सुविधा देता है।
यह प्रोजेक्ट टेस्सरैक्ट जैसी पूर्ण-स्तरीय न्यूरल OCR इंजन नहीं है। इसके बजाय यह एक अलग मार्ग अपनाता है: यह टेम्पलेट-आधारित मिलान का उपयोग करता है, जहाँ अक्षरों को ज्ञात नमूनों के विरुद्ध पिक्सेल-वार मिलाया जाता है। यह शैक्षिक उपयोग, नियंत्रित वातावरण, या ऐतिहासिक पांडुलिपि विश्लेषण, पारंपरिक चाइनीज़ टाइपसेट, या सरल हस्तलेख डेटासेट जैसे विशिष्ट पहचान कार्यों के लिए आदर्श बनाता है। यह प्रोजेक्ट विशेष रूप से उन डेवलपर्स के लिए उपयुक्त है जो एम्बेडेड लिनक्स सिस्टम, रास्पबेरी पाई, या औद्योगिक स्कैनिंग डिवाइस जैसे कम-संसाधन वाले वातावरण में काम करते हैं, क्योंकि यह भारी निर्भरताओं या डीप लर्निंग लाइब्रेरीज़ पर निर्भर नहीं करता।
ओसीआर के साथ शुरुआत
ओसीआर स्थापित करने का अनुशंसित तरीका GitHub का उपयोग करना है। सुगम इंस्टॉलेशन के लिए कृपया नीचे दिया गया कमांड उपयोग करें।
GitHub के माध्यम से ओसीआर एपीआई स्थापित करें
GitHub के माध्यम से ओसीआर एपीआई स्थापित करें
git clone https://github.com/sebastianstarke/OCR.git आप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉज़िटरी से डाउनलोड करें।
टेम्पलेट-आधारित ओसीआर इंजन
चाइनीज़ पांडुलिपियों में ओपन सोर्स ऑप्टिकल कैरेक्टर रिकग्निशन (OCR) C++ एपीआई ने C++ ऐप्स के भीतर टेम्पलेट-आधारित ओसीआर इंजन का उपयोग करने के लिए पूर्ण समर्थन प्रदान किया है। इस लाइब्रेरी के हृदय में एक क्लासिक इमेज तुलना प्रणाली है: कैरेक्टर इमेज को बाइनराइज़ किया जाता है और फिर टेम्पलेट्स के विरुद्ध दूरी मीट्रिक (आमतौर पर पिक्सेल-वार तुलना) का उपयोग करके तुलना की जाती है। चाइनीज़ के लिए, यह लगातार लेखनी या प्रिंटेड पांडुलिपियों से निपटने पर विशेष रूप से उपयोगी है।
C++ ऐप्स में टेम्पलेट-आधारित ओसीआर रिकग्निशन कैसे करें?
OCR::TemplateCollection templates;
templates.loadFromFolder("templates/"); // Load preprocessed characters
OCR::Recognizer recognizer(templates);
std::string recognizedText = recognizer.recognizeFromImage("scanned_page.png");
छवि पूर्व-प्रसंस्करण समर्थन
ओपन सोर्स OCR लाइब्रेरी ने C++ अनुप्रयोगों के भीतर छवि पूर्व-प्रसंस्करण कार्यक्षमता के लिए पूर्ण समर्थन प्रदान किया है। लाइब्रेरी बुनियादी पूर्व-प्रसंस्करण जैसे थ्रेशहोल्डिंग और क्रॉपिंग प्रदान करती है ताकि शोरयुक्त इनपुट को साफ़ किया जा सके। चाइनीज़ पांडुलिपियां अक्सर पुरानी कागज़ पर लिखी होती हैं, इसलिए सटीक परिणामों के लिए छवि सफाई आवश्यक है। निम्न उदाहरण दर्शाता है कि कैसे केवल कुछ पंक्तियों के C++ कोड के साथ सॉफ़्टवेयर डेवलपर्स छवि पूर्व-प्रसंस्करण कर सकते हैं।
C++ ऐप्स में ओसीआर ऑपरेशन्स से पहले छवि पूर्व-प्रसंस्करण कैसे करें?
OCR::ImageProcessor processor;
cv::Mat cleanImage = processor.binarize("raw_scan.png");
आकारात्मक परिवर्तन समर्थन
प्रक्रिया एक श्रृंखला के आकारात्मक परिवर्तनों से शुरू होती है। ये मूलभूत इमेज प्रोसेसिंग ऑपरेशन हैं जो इमेज में फीचर्स की ज्यामिति को बदलते हैं। इस संदर्भ में, इन्हें पांडुलिपि इमेज को साफ़ करने, शोर हटाने, और कैरेक्टर को सेगमेंटेशन के लिए तैयार करने के लिए उपयोग किया जाता है।