लेख
OCR सटीकता बढ़ाएं: टेक्स्ट पहचानने से पहले छवि ठीक करें
OCR केवल उतनी ही अच्छी होती है जितनी उसे दी गई छवि। टेढ़ी, कम-कंट्रास्ट, शोर वाली स्कैन से इंजन चाहे जितना अच्छा हो, गड़बड़ टेक्स्ट ही मिलता है। यहां वह सब है जो वास्तव में काम करता है, उसी क्रम में जिस क्रम में करना चाहिए, और यह सब ब्राउज़र में स्थानीय रूप से चलता है।
OCR को वास्तविक स्कैन से परेशानी क्यों होती है
Tesseract जैसा OCR इंजन साफ, क्षैतिज, उच्च-कंट्रास्ट टेक्स्ट पर प्रशिक्षित था। यह एक पृष्ठ को पंक्तियों में, पंक्तियों को शब्दों में और शब्दों को वर्ण आकारों में विभाजित करता है, फिर प्रत्येक आकार को अपने प्रशिक्षित मॉडल से मिलाता है। वास्तविक स्कैन इन धारणाओं को तोड़ती हैं: पृष्ठ कुछ डिग्री झुका होता है, प्रकाश असमान होता है, रिज़ॉल्यूशन कम होता है, और स्कैनर बेड की किनारी या सामने का पृष्ठ गहरा शोर जोड़ता है। इनमें से प्रत्येक समस्या पंक्ति-और-वर्ण विभाजन चरण को गलत अनुमान लगाने पर मजबूर करती है, और एक गलत विभाजन गलत वर्णों की श्रृंखला बनाता है। समाधान शायद ही कभी दूसरा इंजन होता है: यह छवि तैयार करने के बारे में है ताकि इंजन की धारणाएं सही रहें। व्यवहार में, पूर्व-प्रसंस्करण OCR इंजन के चुनाव से अधिक सटीकता बढ़ाता है।

रिज़ॉल्यूशन से शुरू करें: 300 DPI का लक्ष्य रखें
Tesseract सामान्य बॉडी टेक्स्ट के लिए लगभग 300 DPI पर सबसे अच्छा काम करता है। लगभग 200 DPI से कम पर प्रत्येक ग्लिफ के स्ट्रोक पड़ोसियों में धुंधले हो जाते हैं और सटीकता तेजी से गिरती है। यदि आप स्कैन को नियंत्रित करते हैं, तो स्कैनर को पहले 300 DPI पर सेट करें क्योंकि यह एकमात्र सबसे अधिक प्रभावशाली विकल्प है। यदि आपके पास केवल कम-रिज़ॉल्यूशन छवि है, तो अपस्केलिंग वह विवरण नहीं बनाती जो कभी कैप्चर नहीं किया गया, लेकिन एक मध्यम अपस्केल फिर भी इंजन को छूने वाले वर्णों को अलग करने में मदद कर सकती है। बहुत छोटे प्रिंट को 400 से 600 DPI का लाभ होता है; उससे आगे फ़ाइल केवल बड़ी होती है बिना सटीकता लाभ के। जब स्रोत PDF हो, तो पहले प्रत्येक पृष्ठ को लक्ष्य DPI पर एक छवि में रास्टराइज़ करें, फिर उस छवि पर OCR चलाएं।
सही ओरिएंटेशन
यदि पृष्ठ 90, 180 या 270 डिग्री घुमा हुआ है, तो इंजन बगल से या उल्टा पढ़ता है और बकवास लौटाता है। Tesseract में एक ओरिएंटेशन-और-स्क्रिप्ट-डिटेक्शन (OSD) पास है जो रोटेशन का अनुमान लगा सकता है, लेकिन यह विरल टेक्स्ट, फ़ॉर्म या छवि-प्रधान पृष्ठों पर अविश्वसनीय है। पृष्ठ को खुद सीधा घुमाने से अनुमान लगाने की जरूरत खत्म हो जाती है। यह चरण नुकसान रहित और तत्काल है: 90 डिग्री के गुणक से घुमाने से केवल मौजूदा पिक्सेल नई स्थिति में मैप होते हैं, बिना गुणवत्ता हानि और बिना रिसैंपलिंग के। इसे स्केविंग सुधार से पहले करें, क्योंकि स्केविंग सुधार मानता है कि टेक्स्ट पहले से लगभग क्षैतिज है।
Deskew: छोटी झुकाव सुधारें
2 से 3 डिग्री की झुकाव भी, जो तरह की पृष्ठ को थोड़ा टेढ़ा डालने से आती है, OCR को नुकसान पहुंचाती है: क्षैतिज लाइन-खोज चरण एक टेक्स्ट लाइन को दो में विभाजित करता है, या दो लाइनों को एक में मिला देता है। Deskew टेक्स्ट लाइनों के प्रमुख कोण को मापता है (आमतौर पर प्रोजेक्शन-प्रोफाइल या Hough-transform विश्लेषण से) और पृष्ठ को वापस सीधा घुमाता है। 90-डिग्री मोड़ के विपरीत, deskew एक छोटा मनमाने-कोण का रोटेशन है, इसलिए यह पिक्सेल रिसैंपल करता है और थोड़ी धुंध जोड़ता है। वह समझौता लगभग हमेशा इसके लायक होता है, क्योंकि सीधी लाइनें साफ विभाजित होती हैं और सटीकता लाभ हल्की नरमाई से बहुत अधिक होता है। ओरिएंटेशन ठीक करने के बाद और काटने से पहले deskew करें।

टेक्स्ट तक काटें और शोर हटाएं
जो भी आप चाहते हैं वह टेक्स्ट नहीं है वह शोर है जिसे इंजन गलत पढ़ सकता है: स्कैनर बेड की गहरी किनारी, सामने के पृष्ठ का हिस्सा, एक स्टेपल किया हुआ कोना, उंगली, या पंच का छेद। केवल टेक्स्ट ब्लॉक तक काटने से ये झूठे लक्ष्य हट जाते हैं, जो सटीकता बढ़ाता भी है और पहचान तेज भी करता है क्योंकि इंजन को कम क्षेत्र विश्लेषण करना होता है। बहु-स्तंभ दस्तावेज़ के लिए, काटना (या एक बार में एक स्तंभ पर OCR चलाना) इंजन को गटर के पार सीधे पढ़ने और दो स्तंभों को एक गड़बड़ लाइन में मिलाने से भी रोकता है। Deskew के बाद काटें, ताकि सामग्री फ्रेम में सीधी बैठे।
कंट्रास्ट, ग्रेस्केल और binarization वास्तव में कैसे काम करती है
OCR अंततः एक बाइनरी छवि पर चलती है: हर पिक्सेल तय होता है कि वह स्याही है या कागज। Tesseract यह आंतरिक रूप से Otsu की विधि से करता है, जो छवि हिस्टोग्राम से एक एकल वैश्विक सीमा चुनती है। यह तब अच्छी तरह काम करता है जब पृष्ठ पर समान प्रकाश और अच्छा कंट्रास्ट हो, और विफल होता है जब कोई छाया या रंगीन पृष्ठभूमि एक कोने को सीमा की अपेक्षा से अधिक गहरा बनाती है। विश्वसनीय फायदे हैं ग्रेस्केल में बदलना, ताकि कोई रंग कास्ट सीमा को भ्रमित न कर सके, और प्रकाश को समान करना ताकि पूरा पृष्ठ उसके एक तरफ बैठे। कंट्रास्ट को मध्यम रूप से बढ़ाना हल्के टेक्स्ट की मदद करता है। जो आमतौर पर उल्टा असर करता है वह है कठोर मैनुअल binarization: यदि आप खुद गलत कट-ऑफ से शुद्ध काले और सफेद में सीमा तय करते हैं, तो आप हल्के स्ट्रोक मिटा देते हैं जिन्हें इंजन का अपना पास रखता। इंजन को binarize करने दें, और उसे शुरू करने के लिए एक समान, ग्रेस्केल छवि दें। Sunasty PDF के लिए ग्रेस्केल प्रदान करता है; बारीक कंट्रास्ट ट्यूनिंग के लिए डेस्कटॉप एडिटर अभी भी बेहतर है, लेकिन स्कैन के समय समान प्रकाश किसी भी स्लाइडर से अधिक मायने रखता है।
सही भाषा चुनें और आउटपुट सत्यापित करें
Tesseract प्रति भाषा और लिपि के लिए अलग प्रशिक्षित डेटा फ़ाइल लोड करता है। फ्रेंच या ग्रीक टेक्स्ट पर अंग्रेजी मॉडल चलाने से बचने योग्य त्रुटियां होती हैं, विशेष रूप से उच्चारण चिह्न वाले या गैर-लैटिन वर्णों पर, इसलिए दस्तावेज़ से मेल खाने वाली भाषा चुनें। अंत में, OCR आउटपुट को मसौदे के रूप में लें, अंतिम उत्तर के रूप में नहीं: इंजन यह जानने का कोई तरीका नहीं है कि किसी नाम की वर्तनी सही है या कोई 0 वास्तव में O नहीं है। संख्याओं, उचित नामों और कानूनी या वित्तीय रूप से महत्वपूर्ण किसी भी चीज़ की प्रूफरीड करें। तालिकाओं और बहु-स्तंभ लेआउट के लिए, संरचना को हाथ से ठीक करने की उम्मीद करें, क्योंकि OCR पहचाने गए टेक्स्ट की एक धारा लौटाता है, न कि पुनर्निर्मित लेआउट।
इस लेख में उल्लेखित टूल्स
- OCR · छवि/PDF से टेक्स्टस्कैन की गई छवियों या PDF से पूरी तरह अपने ब्राउज़र में टेक्स्ट निकालें, ऑफ़लाइन चलता है, कोई अपलोड नहीं।
- स्कैन किए पृष्ठों को सीधा करेंतिरछी स्कैन PDF या छवियों को पूरी तरह अपने ब्राउज़र में सीधा करें, कोई अपलोड नहीं।
- इमेज घुमाएँ और पलटेंइमेज को 90/180/270° घुमाएँ या क्षैतिज व ऊर्ध्वाधर पलटें, बिना अपलोड किए।
- छवि क्रॉप करेंइंटरेक्टिव पूर्वावलोकन के साथ अपनी छवियाँ क्रॉप करें, क्रॉप क्षेत्र को ड्रैग और रीसाइज़ करें। कोई अपलोड नहीं।
- PDF को Grayscale में बदलेंरंगीन PDF को पूरी तरह अपने ब्राउज़र में grayscale में बदलें, कोई अपलोड नहीं।
- छवियाँ रीसाइज़ करेंअपनी छवियों (JPEG, PNG, WebP) को अपलोड किए बिना रीसाइज़ और कन्वर्ट करें।
- PDF से छवियाँसीधे अपने ब्राउज़र में प्रत्येक PDF पृष्ठ को PNG या JPG में कन्वर्ट करें।
अक्सर पूछे जाने वाले सवाल
क्या धुंधली स्कैन को अपस्केल करने से OCR बेहतर होती है?
अपने आप में बहुत नहीं। अपस्केलिंग वह विवरण वापस नहीं ला सकती जो स्कैन ने कभी कैप्चर नहीं किया, इसलिए 100 DPI की धुंधली छवि धुंधली रहती है। एक मध्यम अपस्केल इंजन को छूने वाले वर्णों को अलग करने में मदद कर सकती है, लेकिन 300 DPI पर दोबारा स्कैन करना किसी भी अपस्केलिंग की मात्रा से कहीं अधिक प्रभावी है।
क्या मुझे पहले छवि को खुद शुद्ध काले और सफेद में बदलना चाहिए?
आमतौर पर नहीं। Tesseract Otsu की विधि से आंतरिक रूप से binarize करता है, और गलत कट-ऑफ के साथ मैनुअल कठोर सीमा उन हल्के स्ट्रोक को मिटा देती है जिन्हें इंजन रखता। इसके बजाय ग्रेस्केल में बदलें और प्रकाश को समान करें, फिर इंजन को अपनी सीमा चुनने दें।
मेरा टेक्स्ट बगल में है। क्या OCR इसे अपने आप घुमाएगी?
कभी-कभी। Tesseract में ओरिएंटेशन-डिटेक्शन पास है, लेकिन यह फ़ॉर्म, विरल टेक्स्ट या छवि-भारी पृष्ठों पर अविश्वसनीय है। पृष्ठ को खुद 90, 180 या 270 डिग्री सीधा घुमाना नुकसान रहित है और अनुमान लगाने की जरूरत हटाता है, इसलिए यह सुरक्षित विकल्प है।
क्या इनमें से कोई भी मेरा दस्तावेज़ अपलोड करता है?
नहीं। घुमाना, सीधा करना, काटना, ग्रेस्केल में बदलना और OCR खुद, ये सब ब्राउज़र में चलते हैं। OCR Tesseract का WebAssembly बिल्ड उपयोग करती है, और प्रशिक्षित भाषा डेटा एक बार डाउनलोड होकर कैश होता है। आपकी फ़ाइल कभी भी डिवाइस नहीं छोड़ती।