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.
35 lines
1.2 KiB
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) |