You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PyGame/src/windows/res/tools/recognise_words.py

35 lines
1.2 KiB

from time import sleep
import cv2
import numpy as np
from windows.res.tools.deal_picture import DealPicture
import pyautogui as p
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=False, lang="ch") # 初始化OCR模型
shotArea = {}
find_photo = cv2.imread('../pictures/producing_list.png')
positons1 = DealPicture.find_photo_positons(find_photo)
print(positons1.x)
sleep(3)
if positons1:
shotArea['left'] = positons1.left
shotArea['top'] = positons1.top + positons1.height
shotArea['width'] = positons1.width
find_photo = cv2.imread('../pictures/operator_in_producing.png')
positons1 = DealPicture.find_photo_positons(find_photo)
if positons1:
shotArea['height'] = positons1.top - shotArea['top'] + positons1.height
screenshot = p.screenshot(region=(shotArea['left'], shotArea['top'],
shotArea['width'], shotArea['height']))
screenshot_np = np.array(screenshot.convert('RGB'))[:, :, ::-1] # 将Pillow图像对象转换为np.ndarray类型
result = ocr.ocr(screenshot_np, cls=False)
orgwords = ''
for idx in result:
res = idx[1][0]
orgwords += res
print(result)
print(orgwords)