2017-04-13 17 views
7

के माध्यम से पाठ पहचान की शुद्धता बढ़ाएं तो मैं छवि से टेक्स्ट निकालने का प्रयास कर रहा हूं। और चूंकि छवि की गुणवत्ता और आकार अच्छा नहीं है, यह गलत परिणाम दे रहा है। मैंने पीआईएल के साथ कुछ संवर्धन और अन्य चीजों की कोशिश की लेकिन यह केवल छवि की गुणवत्ता को खराब कर रहा है।pytesseract और PIL

क्या कोई बेहतर परिणाम प्राप्त करने के लिए छवि में कुछ वृद्धि का सुझाव दे सकता है। छवियों के कुछ उदाहरण:

two

three

+0

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

+0

मेरे उत्तर को स्वीकृत के रूप में चिह्नित करने के बारे में क्या? क्या मुझे कुछ समझाने के लिए याद आया है? – Claudio

+0

पीएस मेरा जवाब फिर से देखें - मैंने इसमें कुछ स्पष्टीकरण जोड़े हैं। – Claudio

उत्तर

4

छवि के प्रदान की उदाहरण के लिए पाठ काफी अच्छी गुणवत्ता के नेत्रहीन है, इसलिए सवाल यह कैसे आता है कि ओसीआर गलत परिणाम देता है?

इसे समझने के लिए इस उत्तर के आगे पाठ में दिए गए निष्कर्ष के Tesseract के माध्यम से दिया छवि

enter image description here

चलाते हैं। Tesseract ओसीआर का परिणाम नीचे:

"fhpgearedmomrs©gmachom" 

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

"fhpgearedmotors © gmail.com"

यह है कि एन दर्शाता है: enter image description here

Tesseract ओसीआर के माध्यम से बेहतर छवि रन पाठ निम्नलिखित देता है एक छवि बड़े पैमाने पर प्रदान की गई पाठ-छवि उदाहरण पर 100% सटीकता प्राप्त करने में मदद कर सकती है।

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

यहाँ Tesseract FAQ on github.com से एक अंश ऊपर बयान prooving:

[वहाँ उचित सटीकता के लिए एक न्यूनतम पाठ का आकार है। आपको संकल्प के साथ-साथ बिंदु आकार पर विचार करना होगा। शुद्धता 10pt x 300dpi से नीचे गिरती है, तेजी से 8pt x 300dpi से नीचे। एक त्वरित जांच अपने पात्रों की एक्स-ऊंचाई के पिक्सल को गिनना है। (एक्स-ऊंचाई निचले मामले x की ऊंचाई है।) 10pt x 300dpi x-heights पर आमतौर पर लगभग 20 पिक्सेल होते हैं, हालांकि यह नाटकीय रूप से फ़ॉन्ट से फ़ॉन्ट में भिन्न हो सकता है। 10 पिक्सल की एक्स-ऊंचाई के नीचे, आपके पास सटीक परिणामों का बहुत कम मौका है, और लगभग 8 पिक्सल से नीचे, अधिकांश टेक्स्ट "शोर हटा दिया जाएगा"।]

+0

बहुत अच्छी व्याख्या और अच्छा जवाब। मैं छवि (पाठ अनुभागों को पहचानने के लिए सॉफ़्टवेयर) से पाठ पढ़ने पर काम कर रहा हूं और मैं जानना चाहता था कि क्या आपने किसी प्रकार का एक गतिशील चर प्राप्त करने में कामयाब रहा है कि आपको कितनी बार छवि को बड़ा करना होगा ताकि यह टेक्स्ट को पहचान सके? 800x800 की छवि के लिए यह 1600x1600 तक बढ़ने पर सबकुछ पहचान रहा है, लेकिन 30x800 की छवि को सबकुछ (कॉमा, डॉट्स, स्लेश इत्यादि ...) को पहचानने के लिए 120x3200 तक बढ़ाया जाना चाहिए। साथ ही, क्या आप जानते हैं कि "फाइल" शब्द अच्छी तरह से क्यों पहचाना नहीं गया है? चार 'मैं' अंग्रेजी वर्णमाला से नहीं है –

संबंधित मुद्दे