2013-11-20 6 views
7

मैं एक उत्तर पेपर अंकन (एकाधिक विकल्प प्रश्न) पायथन एप्लिकेशन बनाने की कोशिश कर रहा हूं। उत्तर पत्र छवि फ़ाइल में स्कैन किया जाएगा (gif, png, jpg, जो भी प्रारूप आवश्यक है)।पायथन ओसीआर: प्रसंस्करण के लिए पाठ में स्कैन की गई छवि को परिवर्तित करना

मेरी ऐप में डेटाबेस तक पहुंच है जहां सभी उत्तरों संग्रहीत हैं।

तो, स्कैन की गई छवि से किसी प्रकार का डेटा चाहिए ताकि यह उत्तर की तुलना कर सके और अंकों की गणना कर सके। ,

enter image description here

इंटरनेट के माध्यम से खोज करने के बाद मैं:

उत्तर पुस्तिका (उत्तर 'एक्स' से चिह्नित होंगे उम्मीदवार द्वारा उनके जवाब से संकेत मिलता है) इस तरह की मेज प्रारूप के साथ आयाम तय किया है पाया कि कुछ ओसीआर एपीआई उपलब्ध हैं।

पहला वाला Pytesser है। इसका उपयोग करना बहुत आसान है और परिणाम काफी ठीक हैं। लेकिन यह केवल शुद्ध ग्रंथों वाली छवियों के लिए काम करता है। तो, मुझे लगता है कि यह उपयुक्त नहीं है।

मुझे मिला दूसरा दूसरा Ocropus है। यह शक्तिशाली लगता है, लेकिन उस में प्रलेखन

विंडोज

OCRopus POSIX पथ नाम और फाइल सिस्टम पर बहुत कुछ निर्भर करता है है। आप विंडोज पर ओसीरोपस स्थापित करने में सक्षम हो सकते हैं। एक आसान तरीका वर्चुअलबॉक्स को स्थापित करना और वर्चुअलबॉक्स के तहत उबंटू में ओसीरोपस चलाएं।

तो मुझे लगता है कि यह ज्यादातर लिनक्स के लिए है। मुझे विंडो प्लेटफार्म के लिए एक विस्तार स्थापना गाइड नहीं मिला। (मैं एक नौसिखिया हूं, इसलिए मैं गलत हो सकता हूं)

मुझे मिला तीसरा python-tesseract है, Tesseract OCR के लिए एक रैपर है। उनके page में, स्थापना मार्गदर्शिका प्रदान की गई थी। असल में, मैं की जरूरत है,

  1. अजगर-Tesseract-win32.deb
  2. अजगर-opencv
  3. numpy

लेकिन मैं कैसे खिड़की पर .deb फ़ाइलें स्थापित करने के लिए पर कोई सुराग नहीं है। मेरे पास opencv और nampy पहले से स्थापित है।

तो निम्नलिखित मेरे सवालों हैं:

(1) जो रास्ते में मैं processable डेटा में तालिका छवि (यह भी संभव है?) में बदल सकते हैं?

(2) क्या कोई अन्य उपयोगी ओसीआर एपीआई है जिसका मैंने यहां उल्लेख नहीं किया है जो उपयोगी हो सकता है?

(3) अंत में, (मेरी मूर्खतापूर्ण विचार) यह छोटे chucks में छवि को विभाजित करना संभव है - PIL का उपयोग कर और फिर pytesser का उपयोग प्रत्येक कन्वर्ट करने के लिए (तालिका कोशिकाओं के आकार के आधार पर के बाद से तालिका आयाम में जाना जाता है) पाठ में छोटी छवियां, उसके बाद डेटा को तदनुसार संसाधित करें?

एफवाईआई: मुझे केवल विंडोज़ प्लेटफार्म के लिए इसकी आवश्यकता है, संभवतः विंडोज़ XP 32 बिट्स के लिए। मैं अजगर 2.7.5 का उपयोग कर रहा हूँ।

+0

.deb लिनक्स डीबैन/उबंटू पैचेज फाइलें हैं, आप मूल रूप से विंडोज़ पर उनको इंस्टॉल नहीं करते हैं। – McAbra

उत्तर

3

जवाब आपके संख्या

1) ओसीआर बहुत मुश्किल सामान्य रूप में है, लेकिन परीक्षण स्कोर प्रसंस्करण के लिए आप के लिए (अच्छी खबर है), मुझे लगता है कि यह लगभग एक हल समस्या है के अनुरूप हैं। इस नस में ऐसी समस्याओं के लिए प्रयास किए गए और सही समाधान हैं। स्कूल सिस्टम वर्षों से ग्रेडिंग 'स्कैनट्रॉन' परीक्षण स्वचालित करने के लिए ऐसा कर रहे हैं, इसलिए यदि आपके पास ऐसे संसाधनों तक पहुंच है तो यह मार्ग आपकी सबसे अच्छी शर्त हो सकता है। कम से कम आप की जाँच करनी चाहिए कि वे किस तरह करते हैं यह

2) मुझे यकीन है कि वहाँ दूसरों रहे हैं, लेकिन उन मुख्य मुक्त उनके जो मेरे द्वारा की

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

3) बी आप अपने स्वयं के समाधान को रोल करने पर विचार करना चाहेंगे। आप morphological परिचालन की अवधारणा का उपयोग कर सकते हैं (numpy और अन्य छवि पुस्तकालय यह लगभग बॉक्स के बाहर कर सकते हैं)। आपको इन ऑपरेटरों की भी आवश्यकता नहीं हो सकती है और बस तालिका पंक्तियों की बाइनरी थ्रेसहोल्ड (मान लीजिए कि आपने पहले से ही तालिका पंक्तियों में छवि को काट दिया है) और बस ब्लॉब्स की तलाश करें और सबसे ब्लॉब मानों के साथ कॉलम से आने वाले स्कोर को चिह्नित करें।

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