सीधे कंटेंट पर जाएं

OCR, जो आपकी तस्वीर कभी नहीं रखता

छह टूल, जो तस्वीरों से टेक्स्ट, QR कोड और बारकोड पढ़ते हैं। भाषा पैक इसी साइट से आते हैं, और आपकी तस्वीर कभी स्टोर नहीं होती।

6 टूल्स, साइनअप नहीं, वॉटरमार्क नहीं

इनमें से ज़्यादातर टूल एक तस्वीर पर एक काम करते हैं। फ़ोटो से शब्द कॉपी करने हों, तो “इमेज से टेक्स्ट निकालें” से शुरू करें; स्क्रीन पर जो टेक्स्ट सेलेक्ट नहीं होता उसे पाना हो, तो “स्क्रीनशॉट से टेक्स्ट निकालें”; स्कैन को उसकी दिखावट बदले बिना सर्च करने लायक बनाना हो, तो “PDF OCR करें”। सूची के नीचे के नोट्स उन बातों के बारे में हैं जो लोगों को हैरान करती हैं — फ़ाइल साइज़ से ज़्यादा रेज़ोल्यूशन क्यों मायने रखता है, और कहां ब्राउज़र सही टूल नहीं है।

QR कोड और बारकोड

2 टूल्स

QR कोड खोलने से पहले देखें कि उसमें क्या लिखा है, और बारकोड का नंबर पाएं, उसके चेक डिजिट की जांच के साथ।

OCR असल में क्या करता है, और क्या नहीं कर सकता

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

इन पेजों के पीछे दो रीडर हैं। एक पेज पर जहां भी टेक्स्ट हो उसे ढूंढता है, बिना यह जाने कि वह किस लिपि में है, और एक ही डिक्शनरी से पचास-एक भाषाएं पढ़ता है। दूसरा, हर भाषा के लिए अलग से ट्रेन किया गया, उसके पीछे रहता है और 120 से ज़्यादा भाषाएं कवर करता है। भाषा को ऑटोमैटिक पर छोड़ने से पहले रीडर को कोशिश करने का मौक़ा मिलता है, और यह मायने रखता है, क्योंकि ग़लत भाषा चुनना कुछ भी वापस न मिलने की सबसे आम वजह है — पोलिश मेन्यू को सिरिलिक समझकर रूसी की तरह पढ़ा जाए, तो पूरे यक़ीन के साथ ख़ाली पेज लौटता है। भाषा ख़ुद चुनने से काम उसी भाषा के रीडर पर टिक जाता है, और जब आपको ठीक-ठीक पता हो कि आपके पास क्या है, तो आप यही चाहते हैं।

रेज़ोल्यूशन मायने रखता है, फ़ाइल साइज़ नहीं। रीडर को अक्षरों की एक ख़ास ऊंचाई चाहिए और सब कुछ उसी हिसाब से स्केल किया जाता है: स्कैन किए गए PDF के पेज पढ़ने के लिए 300 DPI पर रेंडर होते हैं, और तस्वीर को उसके डाइमेंशन से नहीं, बल्कि ख़ुद स्याही से मापा जाता है, फिर ज़रूरत के हिसाब से बड़ा या छोटा किया जाता है। स्क्रीन का टेक्स्ट वह मामला है जिसमें लोग ग़लती करते हैं — सामान्य साइज़ पर एक अक्षर लगभग दस पिक्सेल ऊंचा होता है, रीडर की ज़रूरत का लगभग एक-तिहाई, इसलिए स्क्रीनशॉट को पढ़ने से पहले बड़ा किया जाता है। लगभग आठ पिक्सेल प्रति अक्षर से नीचे बड़ा करने लायक कोई बारीकी बचती ही नहीं, और कोई भी प्रोसेसिंग उसे गढ़ नहीं सकती। दूसरी तरफ़, मेन्यू की 48 मेगापिक्सेल फ़ोटो किसी छोटी, शार्प फ़ोटो से ज़्यादा सटीक नहीं होती; एक हद के बाद ज़्यादा पिक्सेल समय लेते हैं और कुछ नहीं देते।

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

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

सर्च होने वाली PDF और निकाला गया टेक्स्ट अलग चीज़ें हैं। “PDF OCR करें” और “डॉक्यूमेंट स्कैन करें” तस्वीर को बिल्कुल वैसा ही छोड़ते हैं और पहचाने गए शब्दों को उसके ऊपर अदृश्य रूप से रखते हैं: पेज बिल्कुल वैसा ही दिखता है, Ctrl+F चीज़ें ढूंढने लगता है, और आप सेलेक्ट और कॉपी कर सकते हैं। पेज पर कभी कुछ पेंट नहीं किया जाता — जिसका मतलब यह भी है कि कोई ग़लत पढ़ाई एक परफ़ेक्ट दिखने वाले डॉक्यूमेंट के अंदर छिपी रहती है। “इमेज से टेक्स्ट निकालें” और “स्क्रीनशॉट से टेक्स्ट निकालें” इसका उल्टा करते हैं: आपको सिर्फ़ अक्षर मिलते हैं, और कुछ नहीं — न टाइपफ़ेस, न रंग, न बोल्ड, न तस्वीर। टेक्स्ट लेयर के बारे में एक बात, क्योंकि यह आसानी से छूट जाती है — वह सिर्फ़ वही अक्षर रख सकती है जो साथ आया कोई फ़ॉन्ट लिख सके, इसलिए चीनी, जापानी और कोरियन शब्द लिखे नहीं जाते, बल्कि आपके लिए गिने जाते हैं, जब तक उनके लिए कोई फ़ॉन्ट शामिल नहीं होता।

जहां ब्राउज़र सचमुच सही टूल नहीं है

तस्वीर का आपके डिवाइस से बाहर न जाना ही उसे यहां पढ़ने की पूरी वजह है, और मुश्किल डॉक्यूमेंट पर इसकी क़ीमत सटीकता में चुकानी पड़ती है। यह सौदा असली है, और इसे दबाने के बजाय साफ़-साफ़ कहना बेहतर है।

जुड़ी हुई (कर्सिव) लिखावट पहचानी नहीं जाती — न यहां, न किसी आम OCR टूल में। ये छपे अक्षरों के रीडर हैं: ये अक्षरों के आकार पहचानते हैं, और कर्सिव में पहचानने के लिए अलग-अलग अक्षर होते ही नहीं। हाथ से अलग-अलग लिखे अक्षर अक्सर इतने ठीक आ जाते हैं कि दोबारा टाइप करने के बजाय सुधारे जा सकें — बड़े अक्षर, हाथ से भरा फ़ॉर्म, ध्यान से लिखा नोट — इसीलिए “हाथ की लिखावट पढ़ें” मौजूद है और टेक्स्ट के बगल में कॉन्फ़िडेंस का आंकड़ा दिखाता है। कर्सिव को ठीक से पढ़ने के लिए ख़ास तौर पर लिखावट पर ट्रेन किया गया रीडर चाहिए, और अच्छे रीडर टैब में नहीं, सर्वर पर चलते हैं।

मुश्किल डॉक्यूमेंट पर क्लाउड OCR इससे बेहतर करेगा। Google, Amazon और Microsoft ऐसे रीडर चलाते हैं जो ब्राउज़र टैब में समा सकने वाले डेटा से कहीं ज़्यादा डेटा पर ट्रेन किए गए हैं, और ख़राब फ़ोटो, घने कई कॉलम वाले पेज, अनोखे टाइपफ़ेस या भरे हुए फ़ॉर्म पर वे साफ़ तौर पर ज़्यादा सटीक होंगे। ABBYY FineReader जैसा पैसे वाला डेस्कटॉप सॉफ़्टवेयर भी। अगर किसी मुश्किल डॉक्यूमेंट पर सटीकता इस बात से ज़्यादा मायने रखती है कि डॉक्यूमेंट आपकी मशीन पर ही रहे, तो इनमें से कोई इस्तेमाल करें — यही ईमानदार तुलना है, और यह फ़ैसला आपको ही करना चाहिए।

बड़ी संख्या का काम कमांड लाइन पर होता है। ये टूल तब एक डॉक्यूमेंट पढ़ते हैं जब कोई इंसान क्लिक करे। शेड्यूल पर दो हज़ार स्कैन OCRmyPDF जैसे डेस्कटॉप OCR टूल का काम है, जो एक ही कमांड में PDF के पूरे फ़ोल्डर में टेक्स्ट लेयर जोड़ देता है — मुफ़्त, उसी तरह की पढ़ाई, और क्लिक करने की कोई झंझट नहीं।

कुछ चीज़ें बस नहीं की जातीं। पर्सपेक्टिव ठीक नहीं किया जाता: बगल से फ़ोटो लिया गया पेज अपना समलंब (ट्रेपेज़ॉइड) आकार बनाए रखता है और सिर्फ़ घुमाव ठीक होता है, इसलिए ठीक ऊपर से फ़ोटो लेने में एक सेकंड ज़्यादा लगाना फ़ायदेमंद है। गहरी तह, या किताब की जिल्द के पास का मोड़, मुड़ा ही रहता है। और यहां कोई कैमरा नहीं है — कोड रीडर आपके पास पहले से मौजूद तस्वीर डिकोड करते हैं, लाइव फ़ीड नहीं।

लोकल चलाने की एक व्यावहारिक क़ीमत: किसी भाषा को पहली बार इस्तेमाल करने पर रीडर और भाषा पैक इसी साइट से डाउनलोड होते हैं, जो कुछ मेगाबाइट होते हैं और पहली बार को बाद वाली बार से धीमा बनाते हैं। कुछ भी किसी और के CDN से नहीं आता, और कुछ भी वापस नहीं जाता।

मिलते-जुलते नाम वाले टूल में से कैसे चुनें

इमेज से टेक्स्ट निकालें या स्क्रीनशॉट से टेक्स्ट निकालें। वही रीडर, अलग तरह से तैयार की गई तस्वीर, और यह फ़र्क़ सिर्फ़ दिखावटी नहीं है। फ़ोटो को सीधा किया जाता है और उसकी रोशनी बराबर की जाती है; स्क्रीनशॉट को बड़ा किया जाता है और बाक़ी वैसा ही छोड़ा जाता है, क्योंकि उसमें न टेढ़ापन है न असमान रोशनी, और उसे ऐसा मानकर चलने से वह बिगड़ता है। “स्क्रीनशॉट से टेक्स्ट निकालें” पेस्ट भी लेता है — Ctrl+V, या Mac पर Cmd+V, सीधे क्लिपबोर्ड से, पहले डिस्क पर कुछ सेव किए बिना।

इमेज से टेक्स्ट निकालें या डॉक्यूमेंट स्कैन करें। “इमेज से टेक्स्ट निकालें” आपको शब्द देता है और तस्वीर फेंक देता है। “डॉक्यूमेंट स्कैन करें” तस्वीर रखता है, उसे सीधा करता है, स्याही के पीछे का कागज़ सफ़ेद करता है और आपको स्कैन जैसी दिखने वाली PDF देता है — चाहें तो पीछे अदृश्य रूप से रखे टेक्स्ट के साथ। अगर टेक्स्ट कहीं पेस्ट करना है, तो पहला। अगर डॉक्यूमेंट किसी को भेजना है, तो दूसरा।

डॉक्यूमेंट स्कैन करें या PDF OCR करें। “डॉक्यूमेंट स्कैन करें” फ़ोटो से शुरू करके PDF बनाता है। “PDF OCR करें” पहले से मौजूद PDF से शुरू करता है और उसमें टेक्स्ट लेयर जोड़ता है। दोनों में से कोई पेजों की दिखावट नहीं बदलता। किसी कॉन्ट्रैक्ट की फ़ोटो ली है तो आपको पहला चाहिए; ईमेल में स्कैन मिला है तो दूसरा।

हाथ की लिखावट पढ़ें या इमेज से टेक्स्ट निकालें। वही रीडर, टेबल ढूंढने वाला हिस्सा बंद, और कॉन्फ़िडेंस के आंकड़े को वह अहमियत दी गई है जिसका वह हक़दार है, क्योंकि लिखावट में वही नंबर नतीजे का काम का हिस्सा है। अगर लिखावट जुड़ी हुई है, तो कोई भी पेज उसे नहीं पढ़ेगा, और लिखावट वाला पेज भरोसेमंद लगने वाली बकवास लौटाने के बजाय यह बात साफ़ कह देता है।

QR कोड स्कैन करें या बारकोड स्कैन करें। चौकोर कोड बनाम धारियों वाले, और यह जानना फ़ायदेमंद है कि आपके हाथ में कौन-सा है। QR वाला पेज QR, Micro QR, Data Matrix, Aztec और PDF417 पढ़ता है — जिनमें बोर्डिंग पास और ड्राइविंग लाइसेंस आ जाते हैं, जिनके कोड चौकोर फ़ॉर्मैट के होते हैं, भले ही वे बिंदुओं के धब्बे जैसे दिखें। बारकोड वाला पेज रिटेल और लॉजिस्टिक्स के धारियों वाले फ़ॉर्मैट पढ़ता है — EAN, UPC, Code 128, Code 39, ITF — और चेक डिजिट जांचता है, यानी वह आख़िरी अंक जो बाक़ी अंकों से कैलकुलेट होता है, और यही एक भरोसेमंद नंबर और सिर्फ़ सही दिखने वाले नंबर का फ़र्क़ है। दोनों में से कोई भी OCR नहीं है: कोड एक ज्ञात ज्यामिति वाला चिह्न है, इसलिए उसे डिकोड करना अक्षरों के आकार का अनुमान नहीं, गणित है। ये फ़ेल भी अलग-अलग तरह से होते हैं। चौकोर कोड में एरर करेक्शन होता है और वे खरोंच या बीच में छपे लोगो के बावजूद पढ़े जाते हैं; धारियों वाले कोड में यह बिल्कुल नहीं होता, इसलिए बार पर चमक का मतलब ग़लत नंबर नहीं, बल्कि कुछ भी न पढ़ा जाना है।

ये टूल्स किस पर बने हैं

असली काम करने वाले ओपन-सोर्स इंजन, और वे स्पेसिफ़िकेशन जिन्हें वे लागू करते हैं।

  • TesseractApache-2.0 — 120 से ज़्यादा भाषाओं में टेक्स्ट पहचानता है, भाषा पैक इसी साइट से दिए जाते हैं.
  • ZXingApache-2.0 — QR कोड और बारकोड पढ़ता है.
  • QR code specification (Denso Wave)Specification — फ़ॉर्मैट के आविष्कारक की ओर से वर्शन साइज़ और एरर-करेक्शन लेवल प्रकाशित करता है.

अक्सर पूछे जाने वाले सवाल

क्या मेरी तस्वीर या डॉक्यूमेंट कहीं स्टोर होता है?

नहीं। किसी भाषा को पहली बार इस्तेमाल करने पर रीडर और भाषा पैक इसी साइट से आते हैं, और तस्वीर ख़ुद कभी कहीं नहीं भेजी जाती — इसलिए उस पहली लोडिंग के बाद यह Wi-Fi बंद होने पर भी काम करता है, और कहीं भी कुछ स्टोर नहीं होता। कोड वाले पेजों पर यह सबसे ज़्यादा मायने रखता है, जहां एक QR कोड में Wi-Fi पासवर्ड, पेमेंट रिक्वेस्ट या टू-फ़ैक्टर सीक्रेट हो सकता है।

यह कितना सटीक है?

साफ़ छपे टेक्स्ट पर, जिसकी फ़ोटो सीधी और फ़ोकस में ली गई हो, हज़ार में कुछ अक्षर ग़लत। धुंधलापन, चमक, कम कंट्रास्ट, अनोखे टाइपफ़ेस और किसी तस्वीर के ऊपर छपी किसी भी चीज़ पर सटीकता घटती है। कॉन्फ़िडेंस का आंकड़ा अंदाज़ा लगाने के लिए छोड़ने के बजाय टेक्स्ट के बगल में दिखाया जाता है, और जब यह कम हो, तो समस्या लगभग हमेशा तस्वीर में होती है: ज़्यादा रोशनी, कम तिरछापन, और फ़्रेम को टेक्स्ट से भर देना, इनसे ज़्यादातर समस्या ठीक हो जाती है।

क्या यह हाथ की लिखावट पढ़ सकता है?

हाथ से अलग-अलग लिखे अक्षर अक्सर हां, जुड़ी हुई लिखावट नहीं। यह इस साइट की कमी नहीं है: आम OCR टूल छपे अक्षरों पर ट्रेन किए जाते हैं और अक्षरों के आकार पहचानते हैं, और कर्सिव में पहचानने के लिए अलग-अलग अक्षर होते ही नहीं। “हाथ की लिखावट पढ़ें” वह पेज है जो यह साफ़ कहता है और दिखाता है कि वह क्या पढ़ पाया, जो पूरे यक़ीन से दिए गए ग़लत जवाब से ज़्यादा काम का है।

यह कौन-सी भाषाएं पढ़ सकता है?

120 से ज़्यादा, जिनमें अंग्रेज़ी, बांग्ला, हिंदी, उर्दू, अरबी, स्पैनिश, फ़्रेंच, जर्मन, पुर्तगाली, रूसी, चीनी, जापानी और कोरियन शामिल हैं। लिपि तस्वीर से ही पहचानी जाती है; जहां कई भाषाएं एक लिपि साझा करती हैं — लैटिन, सिरिलिक, अरबी, देवनागरी — वहां आपके ब्राउज़र की अपनी भाषा फ़ैसला करती है, और आप उसे कभी भी बदल सकते हैं।

क्या यह मेरा कैमरा इस्तेमाल करता है?

नहीं, और कोई परमिशन देने की ज़रूरत नहीं। यहां का हर टूल आपके पास पहले से मौजूद तस्वीर पढ़ता है — कैमरा रोल की कोई फ़ोटो, कोई स्क्रीनशॉट, किसी की भेजी फ़ाइल। अगर कोड या पेज आपके सामने है, तो पहले उसकी फ़ोटो लें और फिर वह फ़ोटो यहां छोड़ें।

क्या टेबल, टेबल के रूप में ही निकलेगी?

अगर उसमें दिखने वाली रूलिंग लाइनें हैं, तो हां: पहले ग्रिड ढूंढी जाती है और हर सेल अलग पढ़ा जाता है, ताकि कोई लेबल अपनी वैल्यू में न घुसे, और नतीजा टैब से अलग की गई पंक्तियां होती हैं जो सीधे स्प्रेडशीट में पेस्ट हो जाती हैं। सिर्फ़ ख़ाली जगह से बनी, बिना लाइनों वाली टेबल पढ़ने के क्रम में टेक्स्ट के कॉलम के रूप में पढ़ी जाती है, जो पेस्ट में आमतौर पर बच जाती है, पर इसकी गारंटी नहीं है।

दूसरी टूल कैटेगरी

PDF टूल्सPDF डॉक्यूमेंट को बदलें, एडिट करें, ऑप्टिमाइज़ करें और सुरक्षित करें।इमेज टूल्सइमेज कन्वर्ट करें, कंप्रेस करें, ऑप्टिमाइज़ करें और एडिट करें।डॉक्यूमेंट टूल्सऑफ़िस डॉक्यूमेंट और ई-बुक कन्वर्ट करें और संभालें।स्प्रेडशीट टूल्सस्प्रेडशीट और स्ट्रक्चर्ड डेटा फ़ॉर्मैट कन्वर्ट करें।अनुवाद टूल्सWord और Excel फ़ाइलों का अनुवाद करें, फ़ॉर्मैटिंग जस की तस।वीडियो टूल्सवीडियो फ़ाइलें कन्वर्ट करें, कंप्रेस करें और एडिट करें।ऑडियो टूल्सऑडियो फ़ाइलें कन्वर्ट करें, कट करें, जोड़ें और उनकी आवाज़ का लेवल सेट करें।आर्काइव टूल्सZIP, RAR, 7z और TAR फ़ाइलें खोलें, और अपनी ख़ुद की बनाएं — कुछ भी स्टोर किए बिना।डेवलपर टूल्सडेवलपर के लिए फ़ॉर्मैटर, वैलिडेटर और रोज़मर्रा की यूटिलिटी।टेक्स्ट टूल्सटेक्स्ट एडिट करने, तुलना करने और गिनने के रोज़मर्रा के टूल्स।