def on_pushButtonLoad_pressed(self): """Load Image """ input_dir = sett.readSetting('images/input_dir') image = QFileDialog.getOpenFileName(self, u'打开图片文件', input_dir, 'Images (*.jpg *.jpeg *.bmp *.png *.tiff *.tif *.gif);;' \ 'All files (*.*)') if not image: self.show_msg(u'未选择文件…') return self.load_image(image) sett.storeSetting('images/input_dir', os.path.dirname(str(image)));
def on_pushButtonLoad_pressed(self): """Load Image """ input_dir = sett.readSetting('images/input_dir') image = QFileDialog.getOpenFileName(self, 'Open Image file', input_dir, 'Images (*.jpg *.jpeg *.bmp *.png *.tiff *.tif *.gif);;' \ 'All files (*.*)') if not image: self.show_msg(u'File was not selected…') return self.load_image(image) sett.storeSetting('images/input_dir', os.path.dirname(str(image)))
def on_pushButtonLoad_pressed(self): """Load Image """ input_dir = sett.readSetting('images/input_dir') image = QFileDialog.getOpenFileName( self, 'Open Image file', input_dir, 'Images (*.jpg *.jpeg *.bmp *.png *.tiff *.tif *.gif);;' 'All files (*.*)') if not image: self.show_msg('File was not selected…') return if isinstance(image, tuple): filename = image[0] else: filename = image self.load_image(filename) sett.storeSetting('images/input_dir', os.path.dirname(filename))
def __init__(self, parent=None): """ Constructor """ super(MainWindow, self).__init__(parent) self.setAttribute(Qt.WA_DeleteOnClose) QApplication.setStyle(QStyleFactory.create('cleanlooks')) self.setupUi(self) self.scene = CustomGraphicsScene() self.connect(self.scene, SIGNAL("dropped_to_scene(QString)"), self.load_image) self.graphicsView.setScene(self.scene) self.scene.installEventFilter(self) self.graphicsView.setBackgroundBrush(QBrush(Qt.gray, Qt.BDiagPattern)) quit_icon = QApplication.style().standardIcon( QStyle.SP_DialogCloseButton) self.pushButtonQuit.setIcon(quit_icon) self.setWindowTitle('Analyze & ORC image with tesseract and leptonica') self.actionZoomOut.triggered.connect(self.zoomOut) self.actionZoomIn.triggered.connect(self.zoomIn) self.actionZoomTo1.triggered.connect(self.zoomTo1) self.connect(self.actionZoomFit, SIGNAL('triggered()'), self.zoomFit) # Initialize variables and pointers self.box_data = [] self.pix_image = False self.image_width = 0 self.image_height = 0 self.tesseract = None self.api = None self.lang = 'eng' lang = sett.readSetting('language') if lang: self.lang = lang self.initialize_tesseract() if self.tesseract: available_languages = tess.get_list_of_langs(self.tesseract, self.api) for lang in available_languages: self.comboBoxLang.addItem(lang, lang) current_index = self.comboBoxLang.findData(self.lang) if current_index: self.comboBoxLang.setCurrentIndex(current_index) for idx, psm in enumerate(tess.PSM): self.comboBoxPSM.addItem(psm, idx) for idx, ril in enumerate(tess.RIL): self.comboBoxRIL.addItem(ril, idx) self.leptonica = lept.get_leptonica() if not self.leptonica: self.show_msg('Leptonica initialization failed...') # Read settings and set default values geometry = sett.readSetting('settings_geometry') if geometry is not None: self.restoreGeometry(QVariant(geometry).toByteArray()) else: self.resize(1150, 950) state = sett.readSetting('state') if state is not None: self.restoreState(QVariant(state).toByteArray()) sp_1_state = sett.readSetting('splitter_1Sizes') if sp_1_state is not None: self.splitter_1.restoreState(QVariant(sp_1_state).toByteArray()) sp_2_state = sett.readSetting('splitter_2Sizes') if sp_2_state is not None: self.splitter_2.restoreState(QVariant(sp_2_state).toByteArray()) psm = sett.readSetting('PSM') if psm: current_index = self.comboBoxPSM.findData(psm) self.comboBoxPSM.setCurrentIndex(current_index) ril = sett.readSetting('RIL') if ril: current_index = self.comboBoxRIL.findData(ril) self.comboBoxRIL.setCurrentIndex(current_index) image_name = sett.readSetting('images/last_filename') if image_name: self.image_name = image_name self.load_image(image_name) zoom_factor = sett.readSetting('images/zoom_factor') self.setZoom(zoom_factor)
def __init__(self, parent=None): """ Constructor """ super(MainWindow, self).__init__(parent) self.setAttribute(Qt.WA_DeleteOnClose) QApplication.setStyle(QStyleFactory.create('cleanlooks')) self.setupUi(self) self.scene = CustomGraphicsScene() self.connect(self.scene, SIGNAL("dropped_to_scene(QString)"), self.load_image) self.graphicsView.setScene(self.scene) self.scene.installEventFilter(self) self.graphicsView.setBackgroundBrush(QBrush(Qt.gray, Qt.BDiagPattern)) quit_icon = QApplication.style().standardIcon( QStyle.SP_DialogCloseButton) self.pushButtonQuit.setIcon(quit_icon) self.setWindowTitle('Analyze & ORC image with tesseract and leptonica') self.actionZoomOut.triggered.connect(self.zoomOut) self.actionZoomIn.triggered.connect(self.zoomIn) self.actionZoomTo1.triggered.connect(self.zoomTo1) self.connect(self.actionZoomFit, SIGNAL('triggered()'), self.zoomFit) # Initialize variables and pointers self.box_data = [] self.pix_image = False self.image_width = 0 self.image_height = 0 self.tesseract = None self.api = None self.lang = 'eng' lang = sett.readSetting('language') if lang: self.lang = lang self.initialize_tesseract() if self.tesseract: available_languages = tess.get_list_of_langs( self.tesseract, self.api) for lang in available_languages: self.comboBoxLang.addItem(lang, lang) current_index = self.comboBoxLang.findData(self.lang) if current_index: self.comboBoxLang.setCurrentIndex(current_index) for idx, psm in enumerate(tess.PSM): self.comboBoxPSM.addItem(psm, idx) for idx, ril in enumerate(tess.RIL): self.comboBoxRIL.addItem(ril, idx) self.leptonica = lept.get_leptonica() if not self.leptonica: self.show_msg('Leptonica initialization failed...') # Read settings and set default values geometry = sett.readSetting('settings_geometry') if geometry is not None: self.restoreGeometry(QVariant(geometry).toByteArray()) else: self.resize(1150, 950) state = sett.readSetting('state') if state is not None: self.restoreState(QVariant(state).toByteArray()) sp_1_state = sett.readSetting('splitter_1Sizes') if sp_1_state is not None: self.splitter_1.restoreState(QVariant(sp_1_state).toByteArray()) sp_2_state = sett.readSetting('splitter_2Sizes') if sp_2_state is not None: self.splitter_2.restoreState(QVariant(sp_2_state).toByteArray()) psm = sett.readSetting('PSM') if psm: current_index = self.comboBoxPSM.findData(psm) self.comboBoxPSM.setCurrentIndex(current_index) ril = sett.readSetting('RIL') if ril: current_index = self.comboBoxRIL.findData(ril) self.comboBoxRIL.setCurrentIndex(current_index) image_name = sett.readSetting('images/last_filename') if image_name: self.image_name = image_name self.load_image(image_name) zoom_factor = sett.readSetting('images/zoom_factor') self.setZoom(zoom_factor)