mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-07-02 04:46:26 +00:00
feat: ImagePHashDatabase
This commit is contained in:
@ -12,7 +12,11 @@ from ui.designer.tabs.tabOcr.tabOcr_B30_ui import Ui_TabOcr_B30
|
||||
from ui.extends.components.ocrQueue import OcrQueueModel
|
||||
from ui.extends.shared.cv2_utils import cv2BgrMatToQImage, qImageToCvMatBgr
|
||||
from ui.extends.shared.language import LanguageChangeEventFilter
|
||||
from ui.extends.shared.settings import KNN_MODEL_FILE, SIFT_DATABASE_FILE, Settings
|
||||
from ui.extends.shared.settings import (
|
||||
B30_KNN_MODEL_FILE,
|
||||
KNN_MODEL_FILE,
|
||||
PHASH_DATABASE_FILE,
|
||||
)
|
||||
from ui.extends.tabs.tabOcr.tabOcr_B30 import ChieriV4OcrRunnable, b30ResultToScore
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -35,12 +39,8 @@ class TabOcr_B30(Ui_TabOcr_B30, QWidget):
|
||||
self.imageSelector.filesSelected.connect(self.imageSelected)
|
||||
self.knnModelSelector.filesSelected.connect(self.knnModelSelected)
|
||||
self.b30KnnModelSelector.filesSelected.connect(self.b30KnnModelSelected)
|
||||
# self.siftDatabaseSelector.filesSelected.connect(self.siftDatabaseSelected)
|
||||
self.phashDatabaseSelector.filesSelected.connect(self.phashDatabaseSelected)
|
||||
|
||||
self.knnModelSelector.connectSettings(KNN_MODEL_FILE)
|
||||
# self.siftDatabaseSelector.connectSettings(SIFT_DATABASE_FILE)
|
||||
|
||||
self.imagePath = None # for checking only
|
||||
self.img = None
|
||||
self.paddleFolder = None
|
||||
@ -54,10 +54,10 @@ class TabOcr_B30(Ui_TabOcr_B30, QWidget):
|
||||
|
||||
self.tryPrepareOcr.connect(self.prepareOcr)
|
||||
|
||||
settings = Settings()
|
||||
logger.info("Applying default settings...")
|
||||
self.knnModelSelector.selectFile(settings.knnModelFile())
|
||||
# self.siftDatabaseSelector.selectFile(settings.siftDatabaseFile())
|
||||
self.knnModelSelector.connectSettings(KNN_MODEL_FILE)
|
||||
self.b30KnnModelSelector.connectSettings(B30_KNN_MODEL_FILE)
|
||||
self.phashDatabaseSelector.connectSettings(PHASH_DATABASE_FILE)
|
||||
|
||||
self.ocrQueueModel = OcrQueueModel(self)
|
||||
self.ocrQueue.setModel(self.ocrQueueModel)
|
||||
@ -81,12 +81,6 @@ class TabOcr_B30(Ui_TabOcr_B30, QWidget):
|
||||
self.b30KnnModel = cv2.ml.KNearest.load(b30KnnModelPath)
|
||||
self.tryPrepareOcr.emit()
|
||||
|
||||
def siftDatabaseSelected(self):
|
||||
if selectedFiles := self.siftDatabaseSelector.selectedFiles():
|
||||
siftDatabasePath = selectedFiles[0]
|
||||
self.siftDatabase = SIFTDatabase(siftDatabasePath)
|
||||
self.tryPrepareOcr.emit()
|
||||
|
||||
def phashDatabaseSelected(self):
|
||||
if selectedFiles := self.phashDatabaseSelector.selectedFiles():
|
||||
phashDatabasePath = selectedFiles[0]
|
||||
|
@ -5,8 +5,8 @@ import cv2
|
||||
# from arcaea_offline_ocr_device_creation_wizard.implements.wizard import Wizard
|
||||
from arcaea_offline_ocr.device.v1.definition import DeviceV1
|
||||
from arcaea_offline_ocr.device.v2.definition import DeviceV2
|
||||
from arcaea_offline_ocr.sift_db import SIFTDatabase
|
||||
from arcaea_offline_ocr.phash_db import ImagePHashDatabase
|
||||
from arcaea_offline_ocr.sift_db import SIFTDatabase
|
||||
from PySide6.QtCore import Qt, Slot
|
||||
from PySide6.QtWidgets import QApplication, QFileDialog, QWidget
|
||||
|
||||
@ -16,7 +16,8 @@ from ui.extends.shared.language import LanguageChangeEventFilter
|
||||
from ui.extends.shared.settings import (
|
||||
DEVICES_JSON_FILE,
|
||||
KNN_MODEL_FILE,
|
||||
SIFT_DATABASE_FILE,
|
||||
PHASH_DATABASE_FILE,
|
||||
TESSERACT_FILE,
|
||||
Settings,
|
||||
)
|
||||
from ui.extends.tabs.tabOcr.tabOcr_Device import (
|
||||
@ -39,20 +40,15 @@ class TabOcr_Device(Ui_TabOcr_Device, QWidget):
|
||||
|
||||
self.deviceFileSelector.filesSelected.connect(self.deviceFileSelected)
|
||||
self.knnModelSelector.filesSelected.connect(self.knnModelFileSelected)
|
||||
# self.siftDatabaseSelector.filesSelected.connect(self.siftDatabaseFileSelected)
|
||||
self.phashDatabaseSelector.filesSelected.connect(self.phashDatabaseFileSelected)
|
||||
|
||||
logger.info("Applying settings...")
|
||||
self.deviceFileSelector.connectSettings(DEVICES_JSON_FILE)
|
||||
self.knnModelSelector.connectSettings(KNN_MODEL_FILE)
|
||||
# self.siftDatabaseSelector.connectSettings(SIFT_DATABASE_FILE)
|
||||
|
||||
self.tesseractFileSelector.connectSettings(TESSERACT_FILE)
|
||||
self.phashDatabaseSelector.connectSettings(PHASH_DATABASE_FILE)
|
||||
settings = Settings()
|
||||
logger.info("Applying default settings...")
|
||||
self.deviceFileSelector.selectFile(settings.devicesJsonFile())
|
||||
self.tesseractFileSelector.selectFile(settings.tesseractPath())
|
||||
self.deviceComboBox.selectDevice(settings.deviceUuid())
|
||||
self.knnModelSelector.selectFile(settings.knnModelFile())
|
||||
# vself.siftDatabaseSelector.selectFile(settings.siftDatabaseFile())
|
||||
|
||||
self.ocrQueueModel = OcrQueueModel(self)
|
||||
self.ocrQueue.setModel(self.ocrQueueModel)
|
||||
@ -94,10 +90,6 @@ class TabOcr_Device(Ui_TabOcr_Device, QWidget):
|
||||
if selectedFiles := self.knnModelSelector.selectedFiles():
|
||||
self.knnModel = cv2.ml.KNearest.load(selectedFiles[0])
|
||||
|
||||
def siftDatabaseFileSelected(self):
|
||||
if selectedFiles := self.siftDatabaseSelector.selectedFiles():
|
||||
self.siftDatabase = SIFTDatabase(selectedFiles[0])
|
||||
|
||||
def phashDatabaseFileSelected(self):
|
||||
if selectedFiles := self.phashDatabaseSelector.selectedFiles():
|
||||
self.phashDatabase = ImagePHashDatabase(selectedFiles[0])
|
||||
|
Reference in New Issue
Block a user