2011-09-03 17 views
15

भ्रमित करता है मैं एक छवि से संख्या स्कैन करने के लिए एक आवेदन लिख रहा हूं।टेसेरैक्ट दो नंबर

संख्याएं ओसीआर-बी फ़ॉन्ट का उपयोग कर रही हैं और इसमें + और > वर्ण भी हो सकते हैं।

source image

Tesseract का उपयोग कर स्कैन भी जब चरित्र उल्लेख पात्रों के लिए सेट सीमित, बहुत अच्छा नहीं थे:

यह मेरा स्रोत छवि है। चूंकि मुझे टेस्सेक्ट के लिए कोई ओसीआरबी प्रशिक्षण फाइल नहीं मिली, इसलिए मैंने इसे स्वयं प्रशिक्षित करने का फैसला किया।

मैंने this training image बनाया और इससे एक बॉक्स फ़ाइल बनाई। बॉक्स फ़ाइल सही है, सभी अक्षरों का मिलान सही ढंग से किया जाता है।

फिर मैंने अन्य आवश्यक फ़ाइलों को बनाने के लिए described here सभी चरणों को किया।

इस नए प्रशिक्षित ओसीआर-बी टेस्डाटाटा सेट का उपयोग करके, मुझे एक छोटी सी बग के साथ स्रोत छवि पर बहुत अच्छे परिणाम मिलते हैं: सभी 1 एस 8 एस और इसके विपरीत के लिए गलत हैं। छवि पर कार्रवाई करने के लिए इस्तेमाल आदेश था

$ tesseract esr2c.tif ocrb-esr2c -l ocrb 

और स्रोत छवि के लिए उत्पादन

0800000001456> 8 00000195731208 8 01050008 023+ 08 0301226> 20

था आप सभी 1 स्वैप हैं एस और 8 एस और इसे स्रोत छवि से तुलना करें, आउटपुट सही होगा (पिछले दो अक्षरों को छोड़कर जिन्हें मैं अनदेखा कर सकता हूं)।

यह कैसे हो सकता है? क्या मैंने प्रशिक्षण प्रक्रिया में कुछ गलती की? मेरे द्वारा यह कैसे किया जा सकता है?

+0

उस डेटा को पोस्ट करने में कोई सुरक्षा निहितार्थ नहीं है? –

+0

@andrew वास्तव में नहीं। संदर्भ आईडी में किसी भी व्यक्तिगत जानकारी के बिना बस एक पुराना, अमान्य बिल। –

+0

@ डैनिलो बार्गेन: यदि संभव हो, तो क्या आप ओसीआरबी फ़ॉन्ट के लिए प्रशिक्षण डेटा साझा कर सकते हैं? –

उत्तर

6

ऐसा लगता है कि आपकी बॉक्स फ़ाइल में कहीं और 1 और 8 के लिए गलत मान (वर्ण) हैं। आप jTessBoxEditor प्रोग्राम का उपयोग करके सत्यापित कर सकते हैं। यदि ऐसा है, तो सही, भाषा डेटा फ़ाइल को पुन: उत्पन्न करें, और पुनः प्रयास करें।

+0

मुझे jTessBoxEditor को काम करने के लिए नहीं मिल सकता है (छवि लाइब्रेरी के साथ कुछ समस्याएं), लेकिन मैंने बॉक्स फ़ाइल को [OwlBoxer] (http://code.google.com/p/owlboxer/) के साथ चेक किया (मैंने वास्तव में फ़ाइल को संसाधित किया उस उपकरण का उपयोग करना) और सबकुछ सही दिखता है। –

+0

मैंने tesseractTrainer.py का उपयोग करके बॉक्स फ़ाइल को दो बार चेक-चेक किया है, और अभी भी कोई त्रुटि नहीं मिली है। –

+0

क्या आप अपनी बॉक्स फ़ाइल में एक लिंक पोस्ट कर सकते हैं? आप किस टेस्सेक्ट संस्करण के लिए प्रशिक्षण दे रहे हैं? – nguyenq

2

मैंने ओसीआर के विस्तार के लिए 1 महीने के प्रयासों के बाद टेस्सेक्टैक्ट 2.04 को प्रशिक्षित किया है। यह बहुत अच्छी तरह से काम कर रहा है और फ़ॉन्ट आकार के साथ 90 सटीकता से ऊपर दिखा रहा है 14.

प्रशिक्षण छवि उच्च कंट्रास्ट छवि होनी चाहिए। "GIMP" छवि संपादक और मेनू निम्न उपाय अपनाते हैं उपयोग रंग-> Info-> Histgram- पढ़ें एसटीडी विचलन मूल्य रंग-> Threshould -> लिखें Threshould मूल्य सहेजें छवि प्रशिक्षण के लिए इसका इस्तेमाल के रूप में "एसटीडी विचलन मूल्य"।

"qt-box-editor-1.06.exe" का उपयोग करके अपनी बॉक्स फ़ाइल को जांचें और संपादित करें। इसका उपयोग करना बहुत आसान है। इसमें सभी बक्से और वर्णों की जांच करें। यह बहुत महत्वपूर्ण है। आपकी बॉक्स फ़ाइल में कहीं और 1 और 8.

अन्य cmds चलाएं।

+0

मैंने पहले से ही समस्या हल की है (अन्य उत्तरों पर टिप्पणी देखें)। JTessBoxEditor में बॉक्स का क्रम गलत था। फिर भी धन्यवाद। –

+0

मैंने ओसीआर-बी के लिए टेस्सेक्टैक्ट 3.02 प्रशिक्षित किया .. यह एक ही प्रशिक्षण सेट पर 100% सटीकता की तरह लौटाता है। लेकिन जब मैं वास्तविक जीवन चित्रों की जांच करता हूं तो यह लगभग शून्य सटीकता है। क्या यह आपके लिए काम करता है? – Masri