2012-04-18 15 views
9

मैं टेस्सेक्टैक्ट ओसीआर इंजन के लिए प्रीप्रोकैसिंग चरण के रूप में छवि से टेक्स्ट एरिया का पता लगाने के लिए चाहता हूं, इनपुट केवल टेक्स्ट ही होने पर इंजन अच्छी तरह से काम करता है, लेकिन जब इनपुट छवि में नॉनटेक्स्ट सामग्री होती है तो यह गिरती है, इसलिए मैं छवि में केवल टेक्स्ट सामग्री का पता लगाना चाहता हूं , ऐसा करने का कोई विचार उपयोगी होगा, धन्यवाद।छवि से टेक्स्ट एरिया का पता कैसे लगाएं?

+1

मैं एक छवि प्रसंस्करण समाधान पर जाऊंगा। पृष्ठभूमि तकनीकों को हटाने के लिए Google आज़माएं। –

+0

उदाहरण छवि के बिना आपकी समस्या को समझना मुश्किल है। कृपया imageshack.us में छवि अपलोड करें और यहां लिंक प्रदान करें। –

+0

ठीक है, यह एक नमूना छवि का लिंक है जिसे मैं http://imageshack.us/photo/my-images/171/img0052ir.jpg/ से गैर टेक्स्ट क्षेत्र को हटाना चाहता हूं, लेकिन मुझे लगता है कि टेस्सेक्ट इस पर सभी प्रक्रियाओं का प्रबंधन करता है स्वयं का इसलिए हम इस पर ध्यान नहीं देंगे कि छवि कैसा दिखता है। – chostDevil

उत्तर

7

इस bounding box तकनीक OpenCV कोड के साथ प्रदर्शन पर एक नजर डालें:

इनपुट:

enter image description here

घिस:

enter image description here

परिणाम:

enter image description here

+0

स्कैन की गई छवि में गैर टेक्स्ट क्षेत्र के बारे में क्या, (यानी जब मैं इनपुट छवि पर एक क्षरण करता हूं, तो क्या इनपुट छवि में गैर टेक्स्ट क्षेत्र उपेक्षित होंगे?) – chostDevil

+0

जब आपके पास बाउंडिंग बॉक्स होता है तो आप इसकी सामग्री को निकाल सकते हैं नई छवि और बाकी सब कुछ भूल जाओ जो बॉक्स के अंदर नहीं है। इस कार्य के लिए, ओपनसीवी टैग में ** रुचि के क्षेत्र ** या ** ROI ** के लिए हमारे मंच खोजें। – karlphillip

+0

यदि इस से कोई तकनीक सटीक है तो कृपया मुझे बताएं, और बहुत बहुत धन्यवाद :) – chostDevil

2

ठीक है, मैं छवि प्रसंस्करण में अच्छी तरह से अनुभवी नहीं हूँ, लेकिन मुझे आशा है कि मैं अपने सैद्धांतिक दृष्टिकोण के साथ मदद कर सकता है।

ज्यादातर मामलों में, पाठ समानांतर, क्षैतिज पंक्तियां बना रहा है, जहां पंक्तियों के बीच की जगह बहुत अधिक पृष्ठभूमि पिक्सेल के विपरीत होगी। इसका उपयोग इस समस्या को हल करने के लिए किया जा सकता है। तो ... यदि आप छवि में प्रत्येक पिक्सेल कॉलम लिखें, तो आपको आउटपुट के रूप में 1 पिक्सेल चौड़ी छवि मिल जाएगी। जब इनपुट छवि में पाठ होता है, तो आउटपुट आवधिक पैटर्न की संभावना होगी, जहां अंधेरे क्षेत्रों का बार-बार उज्ज्वल क्षेत्रों का पालन किया जाता है। ये "समूहों" गहरी पिक्सल के पाठ सामग्री की स्थिति का संकेत है, जबकि उज्जवल "समूहों" अलग-अलग पंक्तियों के बीच अंतराल को इंगित करेगा। आपको शायद पता चलेगा कि उज्जवल क्षेत्र दूसरों के मुकाबले बहुत छोटे होंगे। पाठ किसी अन्य चित्र तत्व की तुलना में अधिक सामान्य है, इसलिए इसे अलग करना आसान होना चाहिए।

आपको इन आवधिक पुनरावर्तनों का पता लगाने के लिए एक प्रक्रिया को लागू करना होगा। एक बार स्क्रिप्ट यह निर्धारित कर सकती है कि इनपुट पिक्चर में इन विशेषताओं हैं, इसमें उच्च संभावना है कि इसमें टेक्स्ट शामिल है। (हालांकि, इस दृष्टिकोण वास्तविक पाठ और सरल horisontal धारियों के बीच भेद नहीं कर सकते ...)

अगले कदम के लिए, आप ऊपर उल्लेख किया पद्धति का उपयोग करके, पैराग्राफ की borderies निर्धारित करने के लिए एक रास्ता खोजने चाहिए। मैं एक सुंदर डमी एल्गोरिदम के बारे में सोच रहा हूं, चुड़ैल इनपुट छवि को छोटे, संकीर्ण धारियों (50-100 पीएक्स) में विभाजित करेगा, और यह इन क्षेत्रों को अलग से जांचेगा। फिर, यह पाठ से भरे संभावित क्षेत्रों का नक्शा बनाने के लिए इन परिणामों की तुलना करेगा। यह विधि इतना सटीक नहीं होगी, लेकिन शायद यह ओसीआर सिस्टम को परेशान नहीं करती है।

और आखिरकार, आपको केवल वांछित स्थानों पर ओसीआर चलाने के लिए टेक्स्ट-मैप का उपयोग करने की आवश्यकता है।

दूसरी तरफ, इनपुट पाठ ~ 3-5 डिग्री से अधिक घूर्णन होने पर यह विधि विफल हो जाएगी। यदि आपके पास केवल कुछ पंक्तियां हैं, तो एक और पृष्ठभूमि है, तो आपकी पैटर्न-खोज बहुत अविश्वसनीय होगी। अधिक पंक्तियाँ, अधिक सटीकता ...

सादर, जी

2

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

Detect text area in an image using python and opencv

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