Merge pull request 'yolorestart' (#1) from yolopart_restart into main

Reviewed-on: #1
This commit is contained in:
Viajero 2025-08-31 18:36:36 +08:00
parent 3829cf76ee
commit 9879cb1547
2 changed files with 25 additions and 16 deletions

View File

@ -2,16 +2,25 @@ import numpy as np
from paddleocr import TextRecognition from paddleocr import TextRecognition
import cv2 import cv2
class OCRProcessor:
def __init__(self):
self.model = TextRecognition(model_name="PP-OCRv5_server_rec")
print("OCR模型初始化完成占位")
def predict(self, image_array):
# 保持原有模型调用方式
output = self.model.predict(input=image_array)
# 结构化输出结果
results = output[0]["rec_text"]
placeholder_result = results.split(',')
return placeholder_result
# 保留原有函数接口
_processor = OCRProcessor()
def initialize_ocr_model(): def initialize_ocr_model():
model = TextRecognition(model_name="PP-OCRv5_server_rec") return _processor
print("OCR模型初始化完成占位")
return model
def ocr_predict(image_array): def ocr_predict(image_array):
# 保持原有模型调用方式 return _processor.predict(image_array)
output = initialize_ocr_model().predict(input=image_array)
# 结构化输出结果
results = output[0]["rec_text"]
placeholder_result = results.split(',')
return placeholder_result

14
main.py
View File

@ -9,10 +9,10 @@ from PyQt5.QtCore import QTimer, Qt, pyqtSignal, QThread
from PyQt5.QtGui import QImage, QPixmap, QFont, QPainter, QPen, QColor from PyQt5.QtGui import QImage, QPixmap, QFont, QPainter, QPen, QColor
import os import os
from yolopart.detector import LicensePlateYOLO from yolopart.detector import LicensePlateYOLO
#from OCR_part.ocr_interface import ocr_predict from OCR_part.ocr_interface import ocr_predict
#from OCR_part.ocr_interface import initialize_ocr_model from OCR_part.ocr_interface import initialize_ocr_model
# 使用CRNN进行车牌字符识别 # 使用CRNN进行车牌字符识别
from CRNN_part.crnn_interface import crnn_predict # from CRNN_part.crnn_interface import crnn_predict
from CRNN_part.crnn_interface import initialize_crnn_model from CRNN_part.crnn_interface import initialize_crnn_model
class CameraThread(QThread): class CameraThread(QThread):
@ -164,8 +164,8 @@ class MainWindow(QMainWindow):
self.init_camera() self.init_camera()
# 初始化OCR/CRNN模型具体用哪个模块识别车牌号就写在这儿 # 初始化OCR/CRNN模型具体用哪个模块识别车牌号就写在这儿
#initialize_ocr_model() initialize_ocr_model()
initialize_crnn_model() # initialize_crnn_model()
def init_ui(self): def init_ui(self):
@ -392,8 +392,8 @@ class MainWindow(QMainWindow):
try: try:
# 使用OCR接口进行识别 # 使用OCR接口进行识别
# 可以根据需要切换为CRNN: crnn_predict(corrected_image) # 可以根据需要切换为CRNN: crnn_predict(corrected_image)
#result = ocr_predict(corrected_image) result = ocr_predict(corrected_image)
result = crnn_predict(corrected_image) # result = crnn_predict(corrected_image)
# 将字符列表转换为字符串 # 将字符列表转换为字符串
if isinstance(result, list) and len(result) >= 7: if isinstance(result, list) and len(result) >= 7: