A simple UI for displaying a photo
This commit is contained in:
50
gui.py
Normal file
50
gui.py
Normal file
@ -0,0 +1,50 @@
|
||||
# This module handles the GUI of coin
|
||||
import pytesseract
|
||||
import cv2, os, sys
|
||||
from PIL import Image
|
||||
import PyQt5
|
||||
from PyQt5.QtGui import *
|
||||
from PyQt5.QtCore import *
|
||||
from PyQt5.QtWidgets import *
|
||||
from PyQt5 import uic
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
import glob
|
||||
|
||||
# [!!!] Change this if tesseract can't find any data
|
||||
models_path = '/usr/share/tessdata/'
|
||||
|
||||
# Automatically finds all available language models
|
||||
models_list = glob.glob(models_path + "*.traineddata")
|
||||
model_names = []
|
||||
for path in models_list:
|
||||
base_name = os.path.basename(path)
|
||||
base_name = os.path.splitext(base_name)[0]
|
||||
model_names.append(base_name)
|
||||
|
||||
|
||||
class coin_app(QtWidgets.QMainWindow):
|
||||
def __init__(self):
|
||||
QtWidgets.QMainWindow.__init__(self)
|
||||
self.ui = uic.loadUi('selector.ui', self)
|
||||
self.image = None
|
||||
self.ui.openButton.clicked.connect(self.open)
|
||||
|
||||
def open(self):
|
||||
filename = QFileDialog.getOpenFileName(self, 'Select File')
|
||||
print("Opening file: ", filename[0])
|
||||
self.image = cv2.imread(str(filename[0]))
|
||||
|
||||
if self.image.size == 0:
|
||||
print("Error: image is empty!")
|
||||
|
||||
frame = cv2.cvtColor(self.image, cv2.COLOR_BGR2RGB)
|
||||
image = QImage(frame, frame.shape[1], frame.shape[0],
|
||||
frame.strides[0], QImage.Format_RGB888)
|
||||
|
||||
self.ui.photo.setPixmap(QPixmap.fromImage(image))
|
||||
print("Updated photo")
|
||||
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
mainWindow = coin_app()
|
||||
mainWindow.show()
|
||||
sys.exit(app.exec_())
|
Reference in New Issue
Block a user