Exemplo n.º 1
0
 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()
     new_pixbuf_width = min(data_box.getWidth(), pixbuf_width)
     new_pixbuf_height = min(data_box.getHeight(), pixbuf_height)
     subpixbuf = self.image_pixbuf.new_subpixbuf(data_box.getX(),
                                                 data_box.getY(),
                                                 new_pixbuf_width,
                                                 new_pixbuf_height)
     subpixbuf.x = data_box.getX()
     subpixbuf.y = data_box.getY()
     subpixbuf.width = pixbuf_width
     image = graphics.convertPixbufToImage(subpixbuf)
     layout_analysis = LayoutAnalysis(engine,
                                      clean_text = self.configuration_manager.clean_text)
     text = layout_analysis.readImage(image)
     data_box.setText(text)
     self.main_window.copy_to_clipboard_menu.set_sensitive(True)
     self.main_window.spellchecker_menu.set_sensitive(True)
     debug('Finished reading')
     text_size = layout_analysis.getTextSizeFromImage(image,
                                                      self.page.resolution[1])
     if text_size:
         data_box.setFontSize(text_size)
Exemplo n.º 2
0
 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()
     new_pixbuf_width = min(data_box.getWidth(), pixbuf_width)
     new_pixbuf_height = min(data_box.getHeight(), pixbuf_height)
     subpixbuf = self.image_pixbuf.new_subpixbuf(data_box.getX(),
                                                 data_box.getY(),
                                                 new_pixbuf_width,
                                                 new_pixbuf_height)
     subpixbuf.x = data_box.getX()
     subpixbuf.y = data_box.getY()
     subpixbuf.width = pixbuf_width
     image = graphics.convertPixbufToImage(subpixbuf)
     layout_analysis = LayoutAnalysis(
         engine, clean_text=self.configuration_manager.clean_text)
     text = layout_analysis.readImage(image)
     data_box.setText(text)
     self.main_window.copy_to_clipboard_menu.set_sensitive(True)
     self.main_window.spellchecker_menu.set_sensitive(True)
     debug('Finished reading')
     text_size = layout_analysis.getTextSizeFromImage(
         image, self.page.resolution[1])
     if text_size:
         data_box.setFontSize(text_size)
Exemplo n.º 3
0
 def performOcr(self, engine_name = None):
     selected_engine_index = self.box_editor.getSelectedOcrEngine()
     if engine_name:
         for i in xrange(len(self.ocr_engines)):
             if self.ocr_engines[i][0].name == engine_name:
                 selected_engine_index = i
                 break
     self.box_editor.selectOcrEngine(selected_engine_index)
     image = graphics.convertPixbufToImage(self.box_editor.getImage())
     angle = self.box_editor.getAngle()
     if angle:
         image = graphics.getImageRotated(image, angle)
     engine = None
     if selected_engine_index != -1:
         engine = self.ocr_engines[selected_engine_index][0]
     self.reviewer.performOcrForDataBox(self.data_box, engine)
     self.updateDataBox(self.data_box)
Exemplo n.º 4
0
 def performOcr(self, engine_name=None):
     selected_engine_index = self.box_editor.getSelectedOcrEngine()
     if engine_name:
         for i in xrange(len(self.ocr_engines)):
             if self.ocr_engines[i][0].name == engine_name:
                 selected_engine_index = i
                 break
     self.box_editor.selectOcrEngine(selected_engine_index)
     image = graphics.convertPixbufToImage(self.box_editor.getImage())
     angle = self.box_editor.getAngle()
     if angle:
         image = graphics.getImageRotated(image, angle)
     engine = None
     if selected_engine_index != -1:
         engine = self.ocr_engines[selected_engine_index][0]
     self.reviewer.performOcrForDataBox(self.data_box, engine)
     self.updateDataBox(self.data_box)
Exemplo n.º 5
0
 def setImage(self, pixbuf):
     self.image = graphics.convertPixbufToImage(pixbuf)
     self.emit("changed_image", pixbuf)
Exemplo n.º 6
0
 def __pressedAngleDetectionButton(self, widget):
     image = graphics.convertPixbufToImage(self.box_editor.getImage())
     angle = graphics.getHorizontalAngleForText(image)
     debug('ANGLE: ', angle)
     self.box_editor.setAngle(angle)
Exemplo n.º 7
0
 def __pressedAngleDetectionButton(self, widget):
     image = graphics.convertPixbufToImage(self.box_editor.getImage())
     angle = graphics.getHorizontalAngleForText(image)
     debug('ANGLE: ', angle)
     self.box_editor.setAngle(angle)
Exemplo n.º 8
0
 def setImage(self, pixbuf):
     self.image = graphics.convertPixbufToImage(pixbuf)
     self.emit('changed_image', pixbuf)