इमेज से टेक्स्ट निकालें
फोटो, स्क्रीनशॉट या स्कैन से छपा हुआ टेक्स्ट पढ़ें और उसे .txt फाइल में डाउनलोड करें। या JSON में, जिसमें हर ब्लॉक की जगह और भरोसे का स्तर भी हो।
फाइलें यहां छोड़ें
.jpg, .jpeg, .png, .webp, .bmp, .gif, .avif · 100 MB तक
और सेटिंगकम सेटिंग
कैसे टेक्स्ट निकालें
- 1
अपनी इमेज जोड़ें
JPG, PNG, WebP, BMP, GIF या AVIF, 20 फाइलें तक। फॉर्मेट फाइल के अंदर से पहचाना जाता है, इसलिए गलत एक्सटेंशन होने पर भी फाइल सही डिकोडर तक पहुंचती है।
- 2
टेक्स्ट की भाषा चुनें
ज्यादातर स्कैन के लिए एक भाषा काफी है। दूसरी या तीसरी भाषा तभी जोड़ें, जब पेज पर सचमुच कई भाषाएं मिली हों। हर अतिरिक्त भाषा के लिए एक डाउनलोड होता है और सटीकता थोड़ी घटती है।
- 3
“टेक्स्ट निकालें” पर क्लिक करें और .txt डाउनलोड करें
आपको पहचाना गया टेक्स्ट, अक्षरों की संख्या और औसत भरोसा मिलता है। अगर निर्देशांक भी चाहिए, तो आउटपुट JSON पर कर दें।
ब्राउजर में OCR क्या पढ़ सकता है और क्या नहीं
यह Tesseract है, वही इंजन जो ज्यादातर ओपन-सोर्स OCR के पीछे है। इसे WebAssembly में कंपाइल करके आपके टैब के अंदर चलाया जाता है। छपे टेक्स्ट पर यह मजबूत है: किताब के पेज, स्क्रीनशॉट, इनवॉइस, बोर्ड, फॉर्म, यानी साधारण फॉन्ट और ठीक-ठाक साइज वाला कोई भी टेक्स्ट। हाथ की लिखावट, बहुत सजावटी फॉन्ट, भरी-भरी फोटो पर लिखा टेक्स्ट और तिरछे कोण से खींची गई तस्वीर पर यह कमजोर है। फाइल के साइज से ज्यादा रिजॉल्यूशन मायने रखता है: किसी पैराग्राफ का 1500 पिक्सल चौड़ा साफ स्क्रीनशॉट उसी पैराग्राफ की कमरे के दूसरे कोने से खींची गई दस मेगापिक्सल की फोन फोटो से बेहतर पढ़ा जाता है। अगर औसत भरोसा 30 से कम आता है, तो टूल साफ बता देता है कि पढ़ने लायक कुछ नहीं मिला। वह आपको सही दिखने वाली बेमतलब बातों का पेज नहीं थमाता।
प्रीप्रोसेस स्विच, और यह कब काम आता है
प्रीप्रोसेसिंग चालू होने पर इमेज पहले ग्रेस्केल में बदली जाती है, फिर Otsu के तरीके से थ्रेशोल्ड की जाती है। यह तरीका काले और सफेद की सीमा किसी तय संख्या से नहीं, बल्कि इमेज के अपने हिस्टोग्राम से चुनता है। असमान रोशनी में खींचे गए पेज, फीकी रसीदें और धूसर स्कैन पर इससे बड़ा फायदा होता है, क्योंकि यह वह छाया हटा देता है, जिसे पहचानने वाला इंजन वरना पढ़ने की कोशिश करता। पहले से साफ टेक्स्ट, गहरे बैकग्राउंड पर हल्के अक्षरों वाले स्क्रीनशॉट और रंगीन बैकग्राउंड पर रंगीन टेक्स्ट में इससे नुकसान होता है। वहां सख्त थ्रेशोल्ड अक्षरों को पूरी तरह मिटा सकता है। इसे तब आजमाएं, जब सामान्य रन से नतीजा अच्छा न आए, उससे पहले नहीं।
सिर्फ टेक्स्ट, या निर्देशांक के साथ टेक्स्ट
डिफॉल्ट आउटपुट सादी .txt फाइल है, जिसमें लाइनें वैसे ही टूटती हैं, जैसे इंजन ने देखीं। JSON विकल्प इसके बजाय ब्लॉक की एक array देता है। हर ब्लॉक में उसका पहचाना गया टेक्स्ट, उसका भरोसा और चार संख्याओं वाला बाउंडिंग बॉक्स होता है: x, y, चौड़ाई और ऊंचाई, उस इमेज के पिक्सल में जो असल में पहचानी गई। यह तब काम आता है, जब आपको नतीजों को मूल इमेज पर हाइलाइट करना हो, किसी फॉर्म से एक फील्ड निकालनी हो, या देखना हो कि पेज के किस हिस्से ने औसत भरोसा नीचे खींचा।
न इमेज अपलोड होती है, न टेक्स्ट
पहचानने वाला इंजन और भाषा का डेटा एक बार डाउनलोड होकर आपके ब्राउजर में कैश हो जाते हैं। उसके बाद सब कुछ लोकल चलता है: इमेज टैब में डिकोड होती है, टैब में पहचानी जाती है, और टेक्स्ट फाइल भी टैब में ही बनती है। सामग्री के बारे में कुछ भी कहीं नहीं भेजा जाता। यह तब अहम है, जब आप कोई कॉन्ट्रैक्ट, सैलरी स्लिप या पहचान पत्र पढ़ रहे हों।
अक्सर पूछे जाने वाले सवाल
इमेज से टेक्स्ट किन भाषाओं में निकलता है?
अंग्रेजी, रूसी, जर्मन, फ्रेंच, स्पेनिश, सरल चीनी, अरबी और जापानी। सचमुच मिली-जुली भाषाओं वाले पेज के लिए एक साथ तीन भाषाएं तक जोड़ी जा सकती हैं। फिर भी एक सही भाषा लगभग हमेशा दो भाषाओं से ज्यादा सटीक रहती है।
क्या मेरी इमेज सर्वर पर भेजी जाती है?
नहीं। OCR इंजन WebAssembly है, जो आपके ब्राउजर के अंदर चलता है। नेटवर्क पर सिर्फ एक बार इंजन और आपकी चुनी भाषा का डेटा डाउनलोड होता है। तस्वीर और पहचाना गया टेक्स्ट आपके डिवाइस पर ही रहते हैं।
पहली बार इतना समय क्यों लगता है?
क्योंकि पहली बार इंजन डाउनलोड होता है, लगभग 3 MB, और साथ में आपकी भाषा का डेटा, भाषा के हिसाब से 0.7 से 3 MB तक। आपका ब्राउजर दोनों को कैश कर लेता है, इसलिए दूसरी बार पहचान तुरंत शुरू हो जाती है।
क्या यह हाथ की लिखावट पढ़ता है?
भरोसे लायक नहीं। यहां के मॉडल छपे अक्षरों पर ट्रेन किए गए हैं, और लिखावट या तो गलत पढ़ी जाती है या भरोसे की सीमा से नीचे रह जाती है। बहुत साफ, अलग-अलग लिखे बड़े अक्षर कभी-कभी पढ़े जाते हैं; साधारण घसीट लिखावट नहीं। हाथ से लिखे टेक्स्ट का नतीजा जांचने लायक ड्राफ्ट मानें, कभी पक्की नकल नहीं।
इमेज में टेक्स्ट न मिले तो क्या करें?
पहले प्रीप्रोसेस विकल्प चालू करके दोबारा आजमाएं; असमान रोशनी वाले ज्यादातर मामले इससे ठीक हो जाते हैं। अगर इससे मदद न मिले, तो आम वजह रिजॉल्यूशन है: दोबारा स्कैन करें या फोटो लें, ताकि अक्षर कम से कम बीस पिक्सल ऊंचे हों। सिर्फ टेक्स्ट वाला हिस्सा क्रॉप करना और सही भाषा चुनना भी उम्मीद से ज्यादा मदद करता है।
अच्छे नतीजे के लिए कितना रिजॉल्यूशन चाहिए?
कोशिश करें कि टेक्स्ट लगभग 20 से 40 पिक्सल ऊंचा हो, जो साधारण डॉक्यूमेंट स्कैन में करीब 300 DPI होता है। इससे कम पर अक्षर आपस में मिलने लगते हैं और सटीकता तेजी से गिरती है। इससे ज्यादा पर आप ज्यादातर समय की कीमत चुकाते हैं: 10000 पिक्सल चौड़ी होने से इमेज ज्यादा पढ़ने लायक नहीं बनती, और किसी भी तरफ 12000 पिक्सल से बड़ी इमेज पहचान से पहले वैसे भी छोटी कर दी जाती है।
क्या हर शब्द की जगह मिल सकती है?
आपको हर ब्लॉक की जगह मिलती है, क्योंकि इंजन इसी इकाई में बताता है: उसका टेक्स्ट, उसका भरोसा और पिक्सल में उसका बाउंडिंग बॉक्स। सादे टेक्स्ट की जगह JSON आउटपुट चुनें, तब डाउनलोड में सपाट फाइल नहीं, बल्कि यही array मिलेगी।
क्या यह फोन पर चलता है?
हां, दो बातों के साथ। पहली बार आपके मौजूदा कनेक्शन पर कई मेगाबाइट डाउनलोड करने होते हैं। और फोन पर पहचान में लैपटॉप से लगभग तीन गुना समय लगता है, इसलिए पूरे पेज के स्कैन में आधा मिनट लग सकता है। फिर भी सब कुछ लोकल ही चलता है।