[ocrfeeder/langs: 8/15] Assign the configured language before performing the recognition



commit dacc9db882fd34992988dda9cc4957f316919ef2
Author: Joaquim Rocha <jrocha igalia com>
Date:   Mon Jan 28 15:51:52 2013 +0100

    Assign the configured language before performing the recognition

 src/ocrfeeder/feeder/layoutAnalysis.py |    3 +++
 src/ocrfeeder/studio/widgetModeler.py  |    8 +++++++-
 2 files changed, 10 insertions(+), 1 deletions(-)
---
diff --git a/src/ocrfeeder/feeder/layoutAnalysis.py b/src/ocrfeeder/feeder/layoutAnalysis.py
index 4f41348..edf69c7 100644
--- a/src/ocrfeeder/feeder/layoutAnalysis.py
+++ b/src/ocrfeeder/feeder/layoutAnalysis.py
@@ -498,7 +498,9 @@ class LayoutAnalysis(object):
     def __recognizeImageFromBounds(self, image, bounds, page_resolution):
         clip = image.crop(bounds)
         text = clip_type = None
+        language = ''
         if self.ocr_engine:
+            language = self.ocr_engine.getLanguage()
             text = self.readImage(clip)
             clip_type = self.ocr_engine.classify(text)
 
@@ -507,6 +509,7 @@ class LayoutAnalysis(object):
                                                                    (x1, y1))
 
         data_box = DataBox(x, y, width, height, clip)
+        data_box.setLanguage(language)
         if text:
             data_box.setText(text)
             data_box.setType(clip_type)
diff --git a/src/ocrfeeder/studio/widgetModeler.py b/src/ocrfeeder/studio/widgetModeler.py
index b0dd297..4bbf734 100644
--- a/src/ocrfeeder/studio/widgetModeler.py
+++ b/src/ocrfeeder/studio/widgetModeler.py
@@ -242,6 +242,7 @@ class ImageReviewer(gtk.HPaned):
     def addBoxEditor(self, box, data_box = None):
         if not data_box:
             data_box = DataBox()
+            data_box.setLanguage(self.configuration_manager.language)
             data_box.updateBoundsFromBox(box)
         self.boxes_dict[box] = data_box
         self.editor.setBoxes(box, data_box)
@@ -312,6 +313,8 @@ class ImageReviewer(gtk.HPaned):
         self.updateMainWindow()
 
     def performOcrForDataBox(self, data_box, engine):
+        if engine.hasLanguages():
+            engine.setLanguage(data_box.getLanguage())
         pixbuf_width = self.image_pixbuf.get_width()
         pixbuf_height = self.image_pixbuf.get_height()
         subpixbuf = self.image_pixbuf.subpixbuf(data_box.getX(),
@@ -667,7 +670,10 @@ class ImageReviewer_Controler:
             adjustment_size = None
         clean_text = self.configuration_manager.clean_text
 
-        layout_analysis = LayoutAnalysis(self.__getConfiguredOcrEngine(),
+        engine = self.__getConfiguredOcrEngine()
+        if engine.hasLanguages():
+            engine.setLanguage(self.configuration_manager.language)
+        layout_analysis = LayoutAnalysis(engine,
                                          window_size,
                                          improve_column_detection,
                                          column_min_width,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]