2012-10-19 37 views
9

के क्षेत्रों को निर्दिष्ट करना मैं कई रूपों को स्कैन करने के लिए टेस्सेक्ट-ओसीआर-3.01 का उपयोग कर रहा हूं। फॉर्म सभी टेम्पलेट का पालन करते हैं, इसलिए मुझे पहले से ही पता है कि टेक्स्ट के क्षेत्र/आयत कहां हैं।टेसेरैक्ट: टेक्स्ट

क्या कमांड लाइन उपकरण का उपयोग करते समय उन क्षेत्रों को टेसरेक्ट करने के लिए पास करने का कोई तरीका है?

उत्तर

11

मुझे उत्तर मिला, this thread के लिए धन्यवाद।

ऐसा लगता है कि टेसेरैक्ट यूजन प्रारूप (अनल परीक्षणों में उपयोग किया जाता है) का समर्थन करता है।

धागा से:

पैरामीटर के साथ Tesseract कॉलिंग "-psm 4" और छवि के ही नाम के साथ UZN फ़ाइल का नाम बदलने का काम करता है लगता है।

उदाहरण: अगर हम C:\input.tif और C:\input.uzn है, हम ऐसा करते हैं:

tesseract -psm 4 C:\input.tif C:\output 
3

यह एक इष्टतम जवाब नहीं हो सकता है, लेकिन यहाँ जाता है:

मैं यकीन नहीं है कि कमांड लाइन टूल विकल्प पाठ क्षेत्रों निर्दिष्ट करने के लिए है नहीं कर रहा हूँ।

आप क्या कर सकते हैं एक अन्य प्लेटफॉर्म पर टेसेरैक्ट रैपर का उपयोग करना है (इमगुसीवी में टेस्सेरैक्ट अंतर्निहित है)। तो आपको स्कैन की गई छवि मिलती है, पाठ-क्षेत्रों को फसल मिलती है, और उन्हें एक बार में टेस्सेरक्ट को दे दिया जाता है। इस तरह आप टेसेरैक्ट के पेज-लेआउट विश्लेषण में किसी भी प्रकार की त्रुटियों से बचेंगे।

उदाहरण के लिए।

Image<Gray,Byte> scannedImage = new Image<Gray,Byte>(path_to_scanned_image); 
//assuming you know a text region 
Image<Gray,Byte> textRegion = new Image(100,20); 
scannedImage.ROI = new Rectangle(0,0,100,20); 
scannedImage.copyTo(textRegion); 
ocr.recognize(textRegion); 
+1

हेहे, कि मेरे fallback योजना थी Tesseract क्षेत्रों को स्वीकार नहीं करता है, तो :) – sashoalm