调度器使用示例、OCR调用改进
This commit is contained in:
parent
f19b7a4968
commit
1bcc311a93
15 changed files with 154 additions and 45 deletions
|
@ -7,11 +7,12 @@ import numpy as np
|
|||
|
||||
from mower import __rootdir__
|
||||
from mower.solvers.infra.filter import RIIC_Filter
|
||||
from mower.utils import config, rapidocr
|
||||
from mower.utils import config
|
||||
from mower.utils.character_recognize import operator_room_select
|
||||
from mower.utils.csleep import MowerExit
|
||||
from mower.utils.image import cropimg, loadres, thres2
|
||||
from mower.utils.log import logger
|
||||
from mower.utils.rapidocr import engine
|
||||
|
||||
with lzma.open(f"{__rootdir__}/models/operator_room.model", "rb") as f:
|
||||
OP_ROOM = pickle.loads(f.read())
|
||||
|
@ -145,7 +146,7 @@ class BaseMixin:
|
|||
img = cropimg(img, ((169, 22), (513, 80)))
|
||||
return self.read_operator_in_room(img)
|
||||
try:
|
||||
ret = rapidocr.engine(img, use_det=False, use_cls=False, use_rec=True)[0]
|
||||
ret = engine(img, use_det=False, use_cls=False, use_rec=True)[0]
|
||||
logger.debug(ret)
|
||||
if not ret or not ret[0][0]:
|
||||
raise Exception("识别失败")
|
||||
|
|
|
@ -9,7 +9,9 @@ from .place import PlaceSolver
|
|||
from .receive import ReceiveSolver
|
||||
|
||||
|
||||
class ClueSolver:
|
||||
class ClueManager:
|
||||
solver_name = "线索交流"
|
||||
|
||||
def run(self):
|
||||
logger.info("基建:线索")
|
||||
DailySolver().run()
|
||||
|
@ -17,6 +19,6 @@ class ClueSolver:
|
|||
PlaceSolver().run()
|
||||
clue_count = GetClueCountSolver().run()
|
||||
GiveAwaySolver().run(clue_count)
|
||||
party_time = PartyTimeSolver().run()
|
||||
self.party_time = PartyTimeSolver().run()
|
||||
CreditShop().run()
|
||||
return party_time
|
||||
return True
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
from mower.solvers.infra.enter_room import EnterRoomSolver
|
||||
from mower.utils import config, rapidocr
|
||||
from mower.utils import config
|
||||
from mower.utils.graph import SceneGraphSolver
|
||||
from mower.utils.image import cropimg
|
||||
from mower.utils.log import logger
|
||||
from mower.utils.rapidocr import engine
|
||||
from mower.utils.recognize import Scene
|
||||
from mower.utils.vector import va
|
||||
|
||||
|
@ -40,7 +41,7 @@ class GiveAwaySolver(SceneGraphSolver):
|
|||
break
|
||||
name_top_left = (870, 127 + 222 * i)
|
||||
name_scope = (name_top_left, va(name_top_left, (383, 62)))
|
||||
name = rapidocr.engine(
|
||||
name = engine(
|
||||
cropimg(config.recog.gray, name_scope),
|
||||
use_det=True,
|
||||
use_cls=False,
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import cv2
|
||||
|
||||
from mower.solvers.infra.enter_room import EnterRoomSolver
|
||||
from mower.utils import config, rapidocr
|
||||
from mower.utils import config
|
||||
from mower.utils.graph import SceneGraphSolver
|
||||
from mower.utils.image import cropimg, loadres, thres2
|
||||
from mower.utils.log import logger
|
||||
from mower.utils.rapidocr import engine
|
||||
from mower.utils.recognize import Scene
|
||||
from mower.utils.vector import va
|
||||
|
||||
|
@ -102,7 +103,7 @@ class PlaceSolver(SceneGraphSolver):
|
|||
name_img = cv2.copyMakeBorder(
|
||||
name_img, 48, 48, 48, 48, cv2.BORDER_REPLICATE
|
||||
)
|
||||
name = rapidocr.engine(
|
||||
name = engine(
|
||||
name_img,
|
||||
use_det=True,
|
||||
use_cls=False,
|
||||
|
@ -117,7 +118,7 @@ class PlaceSolver(SceneGraphSolver):
|
|||
time_img = cv2.copyMakeBorder(
|
||||
time_img, 48, 48, 48, 48, cv2.BORDER_REPLICATE
|
||||
)
|
||||
time = rapidocr.engine(
|
||||
time = engine(
|
||||
time_img,
|
||||
use_det=True,
|
||||
use_cls=False,
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import cv2
|
||||
|
||||
from mower.solvers.infra.enter_room import EnterRoomSolver
|
||||
from mower.utils import config, rapidocr
|
||||
from mower.utils import config
|
||||
from mower.utils.graph import SceneGraphSolver
|
||||
from mower.utils.image import cropimg
|
||||
from mower.utils.log import logger
|
||||
from mower.utils.rapidocr import engine
|
||||
from mower.utils.recognize import Scene
|
||||
|
||||
from .utils import clue_cls, exit_pos
|
||||
|
@ -32,7 +33,7 @@ class ReceiveSolver(SceneGraphSolver):
|
|||
name_img = cv2.copyMakeBorder(
|
||||
name_img, 48, 48, 48, 48, cv2.BORDER_REPLICATE
|
||||
)
|
||||
name = rapidocr.engine(
|
||||
name = engine(
|
||||
name_img,
|
||||
use_det=True,
|
||||
use_cls=False,
|
||||
|
|
|
@ -62,12 +62,7 @@ class ReportSolver(SceneGraphSolver):
|
|||
logger.info("今天的基报看过了")
|
||||
return True
|
||||
logger.info("康康大基报捏~")
|
||||
try:
|
||||
super().run()
|
||||
return True
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return False
|
||||
return super().run()
|
||||
|
||||
def transition(self) -> bool:
|
||||
if self.scene() == Scene.RIIC_REPORT:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue