mirror of
https://github.com/283375/arcaea-offline-ocr.git
synced 2025-04-22 06:50:18 +00:00
54 lines
1.4 KiB
Python
54 lines
1.4 KiB
Python
from typing import Tuple
|
|
|
|
from ...types import Mat
|
|
from .definition import DeviceV1
|
|
|
|
__all__ = [
|
|
"crop_img",
|
|
"crop_from_device_attr",
|
|
"crop_to_pure",
|
|
"crop_to_far",
|
|
"crop_to_lost",
|
|
"crop_to_max_recall",
|
|
"crop_to_rating_class",
|
|
"crop_to_score",
|
|
"crop_to_title",
|
|
]
|
|
|
|
|
|
def crop_img(img: Mat, *, top: int, left: int, bottom: int, right: int):
|
|
return img[top:bottom, left:right]
|
|
|
|
|
|
def crop_from_device_attr(img: Mat, rect: Tuple[int, int, int, int]):
|
|
x, y, w, h = rect
|
|
return crop_img(img, top=y, left=x, bottom=y + h, right=x + w)
|
|
|
|
|
|
def crop_to_pure(screenshot: Mat, device: DeviceV1):
|
|
return crop_from_device_attr(screenshot, device.pure)
|
|
|
|
|
|
def crop_to_far(screenshot: Mat, device: DeviceV1):
|
|
return crop_from_device_attr(screenshot, device.far)
|
|
|
|
|
|
def crop_to_lost(screenshot: Mat, device: DeviceV1):
|
|
return crop_from_device_attr(screenshot, device.lost)
|
|
|
|
|
|
def crop_to_max_recall(screenshot: Mat, device: DeviceV1):
|
|
return crop_from_device_attr(screenshot, device.max_recall)
|
|
|
|
|
|
def crop_to_rating_class(screenshot: Mat, device: DeviceV1):
|
|
return crop_from_device_attr(screenshot, device.rating_class)
|
|
|
|
|
|
def crop_to_score(screenshot: Mat, device: DeviceV1):
|
|
return crop_from_device_attr(screenshot, device.score)
|
|
|
|
|
|
def crop_to_title(screenshot: Mat, device: DeviceV1):
|
|
return crop_from_device_attr(screenshot, device.title)
|