diff --git a/.gitattributes b/.gitattributes index 08201cec..3421b678 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,4 +2,3 @@ *.png binary *.traineddata binary *.whl binary -benchmarks/assets/imageproc/*.png filter=lfs diff=lfs merge=lfs -text diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 83d55cb0..96514be0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,7 +18,7 @@ repos: - id: trailing-whitespace - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.9.2 + rev: v0.9.3 hooks: - id: ruff args: [--fix] diff --git a/benchmarks/assets/imageproc/1080p_1.png b/benchmarks/assets/imageproc/1080p_1.png deleted file mode 100644 index c69fef62..00000000 --- a/benchmarks/assets/imageproc/1080p_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b2d50d95cd32703df9df42ca34338a79048cff1aa2c3c779def585d2b2680ab3 -size 6231996 diff --git a/benchmarks/assets/imageproc/1080p_2.png b/benchmarks/assets/imageproc/1080p_2.png deleted file mode 100644 index 8f8e27e2..00000000 --- a/benchmarks/assets/imageproc/1080p_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9cef007d5669023a408031fcb5afa47087c97de3e8c9a594817004771cebedd4 -size 6231996 diff --git a/benchmarks/assets/imageproc/1080p_3.png b/benchmarks/assets/imageproc/1080p_3.png deleted file mode 100644 index 5a5098f6..00000000 --- a/benchmarks/assets/imageproc/1080p_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d3d4750c06736ae6e184ee11b3a439855dbf093eacdd11c8fbed163e4e307f1 -size 6231996 diff --git a/benchmarks/assets/imageproc/1080p_4.png b/benchmarks/assets/imageproc/1080p_4.png deleted file mode 100644 index 25b12f6a..00000000 --- a/benchmarks/assets/imageproc/1080p_4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e985165fd0a81f5066664d42d4890e75b25a5bb88819e3a3d67be9deab0f11f -size 6231996 diff --git a/benchmarks/assets/imageproc/1080p_5.png b/benchmarks/assets/imageproc/1080p_5.png deleted file mode 100644 index db8e09b4..00000000 --- a/benchmarks/assets/imageproc/1080p_5.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d0239b896724f8858d053dd372762106ec62a224adbcdee8c7c6abb6b983d03 -size 6231996 diff --git a/benchmarks/assets/imageproc/1080p_chest.png b/benchmarks/assets/imageproc/1080p_chest.png deleted file mode 100644 index 74f86501..00000000 --- a/benchmarks/assets/imageproc/1080p_chest.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e89f0b11f0b3f2b499f17e9683deba8ca8811253c30f1aff6689cbbbd45b209b -size 6231996 diff --git a/benchmarks/assets/imageproc/1080p_clear.png b/benchmarks/assets/imageproc/1080p_clear.png deleted file mode 100644 index 9770bb4f..00000000 --- a/benchmarks/assets/imageproc/1080p_clear.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2dfcf9a78efe9cbf1fae1300d2a267d8d48471e9b398e8a996062def8180ae69 -size 6231996 diff --git a/benchmarks/assets/imageproc/1080p_inv.png b/benchmarks/assets/imageproc/1080p_inv.png deleted file mode 100644 index 39240aff..00000000 --- a/benchmarks/assets/imageproc/1080p_inv.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9b2f39cd79b5b85331a0f95e31793e02e94ca2e393eb8f29dd6d1e924413d969 -size 6231996 diff --git a/benchmarks/assets/imageproc/1440p_1.png b/benchmarks/assets/imageproc/1440p_1.png deleted file mode 100644 index de43cb82..00000000 --- a/benchmarks/assets/imageproc/1440p_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8d2ff7f5d542375280945570d97c91817b21afcfcdf3f6aeebec1f5aeac54eaa -size 10770122 diff --git a/benchmarks/assets/imageproc/1440p_2.png b/benchmarks/assets/imageproc/1440p_2.png deleted file mode 100644 index 64c8d4d7..00000000 --- a/benchmarks/assets/imageproc/1440p_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9fbbe94609a5b249faaf3a8c28803ae6dd38c6845f7dadc74d5bbce058f5fb17 -size 10770122 diff --git a/benchmarks/assets/imageproc/1440p_3.png b/benchmarks/assets/imageproc/1440p_3.png deleted file mode 100644 index 7075528c..00000000 --- a/benchmarks/assets/imageproc/1440p_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f28dfdd054bc0e3d89cbc4625932132074faaa9a41986df851adf51d9cd78f26 -size 10770122 diff --git a/benchmarks/assets/imageproc/1440p_4.png b/benchmarks/assets/imageproc/1440p_4.png deleted file mode 100644 index 7ecafc22..00000000 --- a/benchmarks/assets/imageproc/1440p_4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d9553a0eea104e763ceeb3985a0044ebe7d8a518d06b8010df9f3ab95f17df5e -size 10770122 diff --git a/benchmarks/assets/imageproc/1440p_5.png b/benchmarks/assets/imageproc/1440p_5.png deleted file mode 100644 index 93dc808d..00000000 --- a/benchmarks/assets/imageproc/1440p_5.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:563693214c5eea700ac71c285347d57becc2de1e6f6d283666140af30cc5cf7d -size 10770122 diff --git a/benchmarks/assets/imageproc/1440p_chest.png b/benchmarks/assets/imageproc/1440p_chest.png deleted file mode 100644 index dff76292..00000000 --- a/benchmarks/assets/imageproc/1440p_chest.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e8d88d58b86f2ace85ee0b54a7701411a1cfd036fc7ae648923391e35050696 -size 10770122 diff --git a/benchmarks/assets/imageproc/1440p_clear.png b/benchmarks/assets/imageproc/1440p_clear.png deleted file mode 100644 index 8b585e13..00000000 --- a/benchmarks/assets/imageproc/1440p_clear.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5626d98f89c5eea554c3899d52e401889c1a486eb98f1ea78d70fb68262d88b1 -size 10770122 diff --git a/benchmarks/assets/imageproc/1440p_inv.png b/benchmarks/assets/imageproc/1440p_inv.png deleted file mode 100644 index 163e4eff..00000000 --- a/benchmarks/assets/imageproc/1440p_inv.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca93119da8e2657f6009db1ab4c4d8df62d1aecc09a0d06f1bfa3a56b2cb6ecc -size 10770122 diff --git a/benchmarks/assets/imageproc/2160p_1.png b/benchmarks/assets/imageproc/2160p_1.png deleted file mode 100644 index da9bb300..00000000 --- a/benchmarks/assets/imageproc/2160p_1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b991655171fce225cef1e74232fd6188d73edf64ed03921df507363dce185708 -size 24462875 diff --git a/benchmarks/assets/imageproc/2160p_2.png b/benchmarks/assets/imageproc/2160p_2.png deleted file mode 100644 index 4c74b90d..00000000 --- a/benchmarks/assets/imageproc/2160p_2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e9842e8aa73a803b75e6c8cec3e044dc3b00c2c879f416484fb90d31ea2a00ef -size 24462875 diff --git a/benchmarks/assets/imageproc/2160p_3.png b/benchmarks/assets/imageproc/2160p_3.png deleted file mode 100644 index 2691951b..00000000 --- a/benchmarks/assets/imageproc/2160p_3.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d451fb7cbae69f8b34d67f52b9bbcbac1ad86a2fd6da10df870a61a11f187fc -size 24462875 diff --git a/benchmarks/assets/imageproc/2160p_4.png b/benchmarks/assets/imageproc/2160p_4.png deleted file mode 100644 index 8d169b69..00000000 --- a/benchmarks/assets/imageproc/2160p_4.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3675617eb0e1f57cec7d8388bc6c0eb5e7921e213493df5f2b9ae5c62a79e841 -size 24462875 diff --git a/benchmarks/assets/imageproc/2160p_5.png b/benchmarks/assets/imageproc/2160p_5.png deleted file mode 100644 index 8c2e149f..00000000 --- a/benchmarks/assets/imageproc/2160p_5.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8caa8fc27dcb4308e61be1f88b0580b837512eeec65efa442aa48fefae649d51 -size 24462875 diff --git a/benchmarks/assets/imageproc/2160p_chest.png b/benchmarks/assets/imageproc/2160p_chest.png deleted file mode 100644 index 4e47a852..00000000 --- a/benchmarks/assets/imageproc/2160p_chest.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9894de85d2c4bc3e66f9a6fd545f57cdf5b98751a34f3944bf759a7cc0d73963 -size 24462875 diff --git a/benchmarks/assets/imageproc/2160p_clear.png b/benchmarks/assets/imageproc/2160p_clear.png deleted file mode 100644 index c18d4841..00000000 --- a/benchmarks/assets/imageproc/2160p_clear.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:205d73455efb0c1bf76c906834b8e26bce69a1596dde535c9f59c31b4716f268 -size 24462875 diff --git a/benchmarks/assets/imageproc/2160p_inv.png b/benchmarks/assets/imageproc/2160p_inv.png deleted file mode 100644 index 4d630475..00000000 --- a/benchmarks/assets/imageproc/2160p_inv.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:20efd42c2a7786e03ec69cba8cb549d50d0c4d36eaff44291e637f6ca963a68b -size 24462875 diff --git a/dependencies/tesserocr-2.7.1-cp313-cp313-win_amd64.whl b/dependencies/tesserocr-2.7.1-cp313-cp313-win_amd64.whl index f7d9ffb5..851921b5 100644 Binary files a/dependencies/tesserocr-2.7.1-cp313-cp313-win_amd64.whl and b/dependencies/tesserocr-2.7.1-cp313-cp313-win_amd64.whl differ diff --git a/src/main.py b/src/main.py index 1b6dfa02..b15bea10 100644 --- a/src/main.py +++ b/src/main.py @@ -1,4 +1,5 @@ import tesserocr # noqa # Note: Somehow needed, otherwise the binary has an issue with tesserocr +from PIL import Image # noqa # Note: Somehow needed, otherwise the binary has an issue with tesserocr import logging import os import sys @@ -7,7 +8,6 @@ import keyboard from beautifultable import BeautifulTable -from PIL import Image # noqa # Note: Somehow needed, otherwise the binary has an issue with tesserocr import src.logger from src import __version__ diff --git a/src/utils/ocr/read.py b/src/utils/ocr/read.py index a7070d26..c8af0898 100644 --- a/src/utils/ocr/read.py +++ b/src/utils/ocr/read.py @@ -4,7 +4,7 @@ import cv2 import numpy as np -from tesserocr import OEM, RIL, PyTessBaseAPI +import tesserocr from src.config import BASE_DIR from src.config.data import COLORS @@ -24,13 +24,15 @@ def __init__(self): self._apis = [] self._lock = threading.Lock() - def get_api(self, user: uuid.UUID) -> PyTessBaseAPI: + def get_api(self, user: uuid.UUID) -> tesserocr.PyTessBaseAPI: with self._lock: for api in self._apis: if not api["user"]: api["user"] = user return api["api"] - new_api = PyTessBaseAPI(psm=3, oem=OEM.LSTM_ONLY, path=str(self.tessdata_path), lang=IniConfigLoader().general.language) + new_api = tesserocr.PyTessBaseAPI( + psm=3, oem=tesserocr.OEM.LSTM_ONLY, path=str(self.tessdata_path), lang=IniConfigLoader().general.language + ) new_api.SetVariable("debug_file", "/dev/null") self._apis.append({"api": new_api, "user": user}) return new_api @@ -69,7 +71,7 @@ def image_to_text(img: np.ndarray, line_boxes: bool = False, do_pre_proc: bool = text = api.GetUTF8Text().strip() res = OcrResult(original_text=text, text=text, word_confidences=api.AllWordConfidences(), mean_confidence=api.MeanTextConf()) if line_boxes: - line_boxes_res = api.GetComponentImages(RIL.TEXTLINE, True) + line_boxes_res = api.GetComponentImages(tesserocr.RIL.TEXTLINE, True) _APILoader().release_api(my_id) return res, line_boxes_res _APILoader().release_api(my_id) diff --git a/tests/assets/item/season5/1080p_medium_read_descr_1.png b/tests/assets/item/season5/1080p_medium_read_descr_1.png deleted file mode 100644 index 7e4e037e..00000000 Binary files a/tests/assets/item/season5/1080p_medium_read_descr_1.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_medium_read_descr_2.png b/tests/assets/item/season5/1080p_medium_read_descr_2.png deleted file mode 100644 index ba1d38f8..00000000 Binary files a/tests/assets/item/season5/1080p_medium_read_descr_2.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_small_read_descr_1.png b/tests/assets/item/season5/1080p_small_read_descr_1.png deleted file mode 100644 index d8cc362d..00000000 Binary files a/tests/assets/item/season5/1080p_small_read_descr_1.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_small_read_descr_2.png b/tests/assets/item/season5/1080p_small_read_descr_2.png deleted file mode 100644 index a243199c..00000000 Binary files a/tests/assets/item/season5/1080p_small_read_descr_2.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_small_read_descr_3.png b/tests/assets/item/season5/1080p_small_read_descr_3.png deleted file mode 100644 index 844240de..00000000 Binary files a/tests/assets/item/season5/1080p_small_read_descr_3.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_small_read_descr_4.png b/tests/assets/item/season5/1080p_small_read_descr_4.png deleted file mode 100644 index 65adf3c3..00000000 Binary files a/tests/assets/item/season5/1080p_small_read_descr_4.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_small_read_descr_5.png b/tests/assets/item/season5/1080p_small_read_descr_5.png deleted file mode 100644 index 517b41ab..00000000 Binary files a/tests/assets/item/season5/1080p_small_read_descr_5.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_small_read_descr_6.png b/tests/assets/item/season5/1080p_small_read_descr_6.png deleted file mode 100644 index b9511855..00000000 Binary files a/tests/assets/item/season5/1080p_small_read_descr_6.png and /dev/null differ diff --git a/tests/assets/item/season5/1080p_small_read_descr_7.png b/tests/assets/item/season5/1080p_small_read_descr_7.png deleted file mode 100644 index 6d915c05..00000000 Binary files a/tests/assets/item/season5/1080p_small_read_descr_7.png and /dev/null differ diff --git a/tests/assets/item/season5/1440p_small_read_descr_1.png b/tests/assets/item/season5/1440p_small_read_descr_1.png deleted file mode 100644 index 61722341..00000000 Binary files a/tests/assets/item/season5/1440p_small_read_descr_1.png and /dev/null differ diff --git a/tests/assets/item/season5/1440p_small_read_descr_2.png b/tests/assets/item/season5/1440p_small_read_descr_2.png deleted file mode 100644 index 55f965a5..00000000 Binary files a/tests/assets/item/season5/1440p_small_read_descr_2.png and /dev/null differ diff --git a/tests/assets/item/season5/1440p_small_read_descr_3.png b/tests/assets/item/season5/1440p_small_read_descr_3.png deleted file mode 100644 index 47678939..00000000 Binary files a/tests/assets/item/season5/1440p_small_read_descr_3.png and /dev/null differ diff --git a/tests/assets/item/season5/1440p_small_read_descr_6.png b/tests/assets/item/season5/1440p_small_read_descr_6.png deleted file mode 100644 index 09f53e3a..00000000 Binary files a/tests/assets/item/season5/1440p_small_read_descr_6.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_medium_read_descr_1.png b/tests/assets/item/season5/2160p_medium_read_descr_1.png deleted file mode 100644 index 6b9d89f6..00000000 Binary files a/tests/assets/item/season5/2160p_medium_read_descr_1.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_medium_read_descr_11.png b/tests/assets/item/season5/2160p_medium_read_descr_11.png deleted file mode 100644 index 4eac0bad..00000000 Binary files a/tests/assets/item/season5/2160p_medium_read_descr_11.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_medium_read_descr_2.png b/tests/assets/item/season5/2160p_medium_read_descr_2.png deleted file mode 100644 index adfcad7c..00000000 Binary files a/tests/assets/item/season5/2160p_medium_read_descr_2.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_medium_read_descr_3.png b/tests/assets/item/season5/2160p_medium_read_descr_3.png deleted file mode 100644 index 7e77f207..00000000 Binary files a/tests/assets/item/season5/2160p_medium_read_descr_3.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_medium_read_descr_8.png b/tests/assets/item/season5/2160p_medium_read_descr_8.png deleted file mode 100644 index ed7b9496..00000000 Binary files a/tests/assets/item/season5/2160p_medium_read_descr_8.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_medium_read_descr_9.png b/tests/assets/item/season5/2160p_medium_read_descr_9.png deleted file mode 100644 index 89e0d7da..00000000 Binary files a/tests/assets/item/season5/2160p_medium_read_descr_9.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_1.png b/tests/assets/item/season5/2160p_small_read_descr_1.png deleted file mode 100644 index 253698c2..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_1.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_11.png b/tests/assets/item/season5/2160p_small_read_descr_11.png deleted file mode 100644 index 8028a2b7..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_11.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_12.png b/tests/assets/item/season5/2160p_small_read_descr_12.png deleted file mode 100644 index a430d3bc..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_12.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_13.png b/tests/assets/item/season5/2160p_small_read_descr_13.png deleted file mode 100644 index 9befa512..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_13.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_14.png b/tests/assets/item/season5/2160p_small_read_descr_14.png deleted file mode 100644 index dce7a2a8..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_14.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_2.png b/tests/assets/item/season5/2160p_small_read_descr_2.png deleted file mode 100644 index 6128c731..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_2.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_3.png b/tests/assets/item/season5/2160p_small_read_descr_3.png deleted file mode 100644 index de636bc0..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_3.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_8.png b/tests/assets/item/season5/2160p_small_read_descr_8.png deleted file mode 100644 index 5ae242d6..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_8.png and /dev/null differ diff --git a/tests/assets/item/season5/2160p_small_read_descr_9.png b/tests/assets/item/season5/2160p_small_read_descr_9.png deleted file mode 100644 index 914cb3cf..00000000 Binary files a/tests/assets/item/season5/2160p_small_read_descr_9.png and /dev/null differ diff --git a/tests/assets/item/season6/1080p_small_read_descr_1.png b/tests/assets/item/season6/1080p_small_read_descr_1.png deleted file mode 100644 index 4d13b3a7..00000000 Binary files a/tests/assets/item/season6/1080p_small_read_descr_1.png and /dev/null differ diff --git a/tests/assets/item/season6/1080p_small_read_descr_2.png b/tests/assets/item/season6/1080p_small_read_descr_2.png deleted file mode 100644 index a34cc93e..00000000 Binary files a/tests/assets/item/season6/1080p_small_read_descr_2.png and /dev/null differ diff --git a/tests/assets/item/season6/1440p_small_read_descr_1.png b/tests/assets/item/season6/1440p_small_read_descr_1.png deleted file mode 100644 index 05814c9a..00000000 Binary files a/tests/assets/item/season6/1440p_small_read_descr_1.png and /dev/null differ diff --git a/tests/assets/item/season6/1440p_small_read_descr_2.png b/tests/assets/item/season6/1440p_small_read_descr_2.png deleted file mode 100644 index 80b9c6e2..00000000 Binary files a/tests/assets/item/season6/1440p_small_read_descr_2.png and /dev/null differ diff --git a/tests/assets/item/season6/1440p_small_read_descr_3.png b/tests/assets/item/season6/1440p_small_read_descr_3.png deleted file mode 100644 index 819fb49f..00000000 Binary files a/tests/assets/item/season6/1440p_small_read_descr_3.png and /dev/null differ diff --git a/tests/assets/item/season6/1440p_small_read_descr_4.png b/tests/assets/item/season6/1440p_small_read_descr_4.png deleted file mode 100644 index 704d8dfd..00000000 Binary files a/tests/assets/item/season6/1440p_small_read_descr_4.png and /dev/null differ diff --git a/tests/assets/item/season6/1440p_small_sigil_2.png b/tests/assets/item/season6/1440p_small_sigil_2.png deleted file mode 100644 index 999332bc..00000000 Binary files a/tests/assets/item/season6/1440p_small_sigil_2.png and /dev/null differ diff --git a/tests/assets/item/unknown/find_descr_common_1080p.png b/tests/assets/item/unknown/find_descr_common_1080p.png deleted file mode 100644 index fde8fb75..00000000 Binary files a/tests/assets/item/unknown/find_descr_common_1080p.png and /dev/null differ diff --git a/tests/assets/item/unknown/find_descr_legendary_1080p.png b/tests/assets/item/unknown/find_descr_legendary_1080p.png deleted file mode 100644 index 7707f299..00000000 Binary files a/tests/assets/item/unknown/find_descr_legendary_1080p.png and /dev/null differ diff --git a/tests/assets/item/unknown/find_descr_legendary_1440p.png b/tests/assets/item/unknown/find_descr_legendary_1440p.png deleted file mode 100644 index c3fc7e90..00000000 Binary files a/tests/assets/item/unknown/find_descr_legendary_1440p.png and /dev/null differ diff --git a/tests/assets/item/unknown/find_descr_rare_1080p.png b/tests/assets/item/unknown/find_descr_rare_1080p.png deleted file mode 100644 index 85b3898d..00000000 Binary files a/tests/assets/item/unknown/find_descr_rare_1080p.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_codex_upgrade_1440p_2.png b/tests/assets/item/unknown/read_descr_codex_upgrade_1440p_2.png deleted file mode 100644 index 117c06b3..00000000 Binary files a/tests/assets/item/unknown/read_descr_codex_upgrade_1440p_2.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_elixir_1080p.png b/tests/assets/item/unknown/read_descr_elixir_1080p.png deleted file mode 100644 index f32d3721..00000000 Binary files a/tests/assets/item/unknown/read_descr_elixir_1080p.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1080p.png b/tests/assets/item/unknown/read_descr_legendary_1080p.png deleted file mode 100644 index 279cf89a..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1080p.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1080p_4.png b/tests/assets/item/unknown/read_descr_legendary_1080p_4.png deleted file mode 100644 index a360b989..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1080p_4.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1080p_7.png b/tests/assets/item/unknown/read_descr_legendary_1080p_7.png deleted file mode 100644 index fc391538..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1080p_7.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1080p_8.png b/tests/assets/item/unknown/read_descr_legendary_1080p_8.png deleted file mode 100644 index 20591e77..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1080p_8.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1440p.png b/tests/assets/item/unknown/read_descr_legendary_1440p.png deleted file mode 100644 index 32ec094a..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1440p.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1440p_3.png b/tests/assets/item/unknown/read_descr_legendary_1440p_3.png deleted file mode 100644 index a1ea4618..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1440p_3.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1440p_4.png b/tests/assets/item/unknown/read_descr_legendary_1440p_4.png deleted file mode 100644 index bdd4061d..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1440p_4.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_legendary_1600p.png b/tests/assets/item/unknown/read_descr_legendary_1600p.png deleted file mode 100644 index 4b17c431..00000000 Binary files a/tests/assets/item/unknown/read_descr_legendary_1600p.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_material_1080p.png b/tests/assets/item/unknown/read_descr_material_1080p.png deleted file mode 100644 index 048377b1..00000000 Binary files a/tests/assets/item/unknown/read_descr_material_1080p.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_sigil_1440p_2.png b/tests/assets/item/unknown/read_descr_sigil_1440p_2.png deleted file mode 100644 index 2ebf1e5a..00000000 Binary files a/tests/assets/item/unknown/read_descr_sigil_1440p_2.png and /dev/null differ diff --git a/tests/assets/item/unknown/read_descr_temper_manual_2160p.png b/tests/assets/item/unknown/read_descr_temper_manual_2160p.png deleted file mode 100644 index 7a1fcc42..00000000 Binary files a/tests/assets/item/unknown/read_descr_temper_manual_2160p.png and /dev/null differ diff --git a/tests/item/find_descr_unknown_test.py b/tests/item/find_descr_unknown_test.py deleted file mode 100644 index 2aaaf8f0..00000000 --- a/tests/item/find_descr_unknown_test.py +++ /dev/null @@ -1,36 +0,0 @@ -import time - -import cv2 -import pytest - -from src.cam import Cam -from src.config import BASE_DIR -from src.item.data.rarity import ItemRarity -from src.item.find_descr import find_descr - -BASE_PATH = BASE_DIR / "tests/assets/item/unknown" - - -@pytest.mark.parametrize( - ("img_res", "input_img", "anchor", "expected_success", "expected_top_left", "expected_rarity"), - [ - ((1920, 1080), f"{BASE_PATH}/find_descr_rare_1080p.png", (1450, 761), True, (1043, 509), ItemRarity.Rare), - ((1920, 1080), f"{BASE_PATH}/find_descr_common_1080p.png", (75, 320), True, (127, 157), ItemRarity.Common), - ((1920, 1080), f"{BASE_PATH}/find_descr_legendary_1080p.png", (1515, 761), True, (1088, 78), ItemRarity.Legendary), - ((2560, 1440), f"{BASE_PATH}/find_descr_legendary_1440p.png", (1723, 1012), True, (1156, 296), ItemRarity.Legendary), - ], -) -def test_find_descr(img_res, input_img, anchor, expected_success, expected_top_left, expected_rarity): - Cam().update_window_pos(0, 0, *img_res) - img = cv2.imread(input_img) - start = time.time() - success, item_rarity, cropped_img, roi = find_descr(img, anchor) - top_left_corner = None if not success else roi[:2] - print("Runtime (find_descr()): ", time.time() - start) - if False: - cv2.imwrite("item_descr.png", cropped_img) - assert success == expected_success - tolerance = 0.01 * img_res[0] - assert abs(top_left_corner[0] - expected_top_left[0]) <= tolerance - assert abs(top_left_corner[1] - expected_top_left[1]) <= tolerance - assert item_rarity == expected_rarity diff --git a/tests/item/read_descr_season5_test.py b/tests/item/read_descr_season5_test.py deleted file mode 100644 index 176d1e79..00000000 --- a/tests/item/read_descr_season5_test.py +++ /dev/null @@ -1,390 +0,0 @@ -import cv2 -import pytest - -from src.cam import Cam -from src.config import BASE_DIR -from src.item.data.affix import Affix, AffixType -from src.item.data.aspect import Aspect -from src.item.data.item_type import ItemType -from src.item.data.rarity import ItemRarity -from src.item.descr.read_descr import read_descr -from src.item.models import Item - -BASE_PATH = BASE_DIR / "tests/assets/item/season5" - -items = [ - ( - (3840, 2160), - f"{BASE_PATH}/2160p_medium_read_descr_1.png", - item1 := Item( - affixes=[ - Affix(name="intelligence", value=101, type=AffixType.rerolled), - Affix(name="maximum_life", value=1155), - Affix(name="maximum_resource", value=10), - Affix(name="lucky_hit_up_to_a_chance_to_stun_for_seconds", value=17.2, type=AffixType.tempered), - Affix(name="to_warmth", value=1, type=AffixType.tempered), - ], - item_type=ItemType.Helm, - power=914, - rarity=ItemRarity.Legendary, - ), - ), - ((3840, 2160), f"{BASE_PATH}/2160p_small_read_descr_1.png", item1), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_medium_read_descr_2.png", - item2 := Item( - affixes=[ - Affix(name="intelligence", value=87), - Affix(name="maximum_life", value=1441, type=AffixType.greater), - Affix(name="mana_per_second", value=6, type=AffixType.rerolled), - Affix(name="lucky_hit_up_to_a_chance_to_stun_for_seconds", value=15.5, type=AffixType.tempered), - Affix(name="to_warmth", value=2, type=AffixType.tempered), - ], - item_type=ItemType.ChestArmor, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ((3840, 2160), f"{BASE_PATH}/2160p_small_read_descr_2.png", item2), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_medium_read_descr_3.png", - item3 := Item( - affixes=[ - Affix(name="intelligence", value=90), - Affix(name="attack_speed", value=9.8, type=AffixType.rerolled), - Affix(name="lucky_hit_up_to_a_chance_to_restore_primary_resource", value=12.1), - Affix(name="lucky_hit_up_to_a_chance_to_stun_for_seconds", value=20.1, type=AffixType.tempered), - Affix(name="shock_critical_strike_damage", value=97.8, type=AffixType.tempered), - ], - item_type=ItemType.Gloves, - power=854, - rarity=ItemRarity.Legendary, - ), - ), - ((3840, 2160), f"{BASE_PATH}/2160p_small_read_descr_3.png", item3), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_medium_read_descr_8.png", - item8 := Item( - affixes=[ - Affix(name="intelligence", value=92), - Affix(name="attack_speed", value=17.1, type=AffixType.greater), - Affix(name="critical_strike_chance", value=6.9, type=AffixType.rerolled), - Affix(name="vulnerable_damage", value=56.3, type=AffixType.tempered), - Affix(name="unstable_currents_cooldown_reduction", value=14.4, type=AffixType.tempered), - ], - inherent=[ - Affix(name="resistance_to_all_elements", value=10, type=AffixType.inherent), - Affix(name="shadow_resistance", value=10, type=AffixType.inherent), - ], - item_type=ItemType.Ring, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ((3840, 2160), f"{BASE_PATH}/2160p_small_read_descr_8.png", item8), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_medium_read_descr_9.png", - item9 := Item( - affixes=[ - Affix(name="intelligence", value=6.3), - Affix(name="maximum_life", value=1441, type=AffixType.greater), - Affix(name="cooldown_reduction", value=10.5, type=AffixType.rerolled), - Affix(name="unstable_currents_cooldown_reduction", value=13.2, type=AffixType.tempered), - Affix(name="overpower_damage", value=86.2, type=AffixType.tempered), - ], - inherent=[Affix(name="resistance_to_all_elements", value=23.8, type=AffixType.inherent)], - item_type=ItemType.Amulet, - power=872, - rarity=ItemRarity.Legendary, - ), - ), - ((3840, 2160), f"{BASE_PATH}/2160p_small_read_descr_9.png", item9), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_medium_read_descr_11.png", - item11 := Item( - affixes=[ - Affix(name="movement_speed", value=19), - Affix(name="maximum_resistance_to_all_elements", value=14.3, type=AffixType.greater), - Affix(name="resistance_to_all_elements", value=69), - Affix(name="damage_reduction", value=23), - ], - aspect=Aspect(name="tyraels_might", value=4996), - inherent=[Affix(name="ignore_durability_loss", value=None, type=AffixType.inherent)], - item_type=ItemType.ChestArmor, - power=925, - rarity=ItemRarity.Mythic, - ), - ), - ((3840, 2160), f"{BASE_PATH}/2160p_small_read_descr_11.png", item11), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_small_read_descr_12.png", - Item( - affixes=[ - Affix(name="all_stats", value=98, type=AffixType.greater), - Affix(name="attack_speed", value=8.5), - Affix(name="cold_resistance", value=55.5), - Affix(name="lucky_hit_up_to_a_chance_to_deal_cold_damage", value=40, type=AffixType.greater), - ], - aspect=Aspect(name="azurewrath", value=23825), - inherent=[Affix(name="cold_damage", value=85, type=AffixType.inherent)], - item_type=ItemType.Sword, - power=925, - rarity=ItemRarity.Unique, - ), - ), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_small_read_descr_13.png", - Item( - affixes=[ - Affix(name="attack_speed", value=11), - Affix(name="fire_and_cold_damage", value=156), - Affix(name="lucky_hit_up_to_a_chance_to_deal_fire_damage", value=40), - Affix(name="lucky_hit_up_to_a_chance_to_deal_cold_damage", value=40, type=AffixType.greater), - ], - aspect=Aspect(name="frostburn", value=58), - inherent=[Affix(name="lucky_hit_chance", value=8, type=AffixType.inherent)], - item_type=ItemType.Gloves, - power=925, - rarity=ItemRarity.Unique, - ), - ), - ( - (3840, 2160), - f"{BASE_PATH}/2160p_small_read_descr_14.png", - Item( - affixes=[ - Affix(name="attack_speed", value=8), - Affix(name="lightning_resistance", value=37), - Affix(name="to_shocking_impact", value=1), - ], - inherent=[Affix(name="resistance_to_all_elements", value=25, type=AffixType.inherent)], - item_type=ItemType.Amulet, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (2160, 1440), - f"{BASE_PATH}/1440p_small_read_descr_1.png", - Item( - affixes=[ - Affix(name="all_stats", value=3), - Affix(name="maximum_resource", value=11), - Affix(name="critical_strike_damage", value=94), - Affix(name="resistance_to_all_elements", value=9), - ], - aspect=Aspect(name="locrans_talisman", value=0.19), - inherent=[Affix(name="resistance_to_all_elements", value=25, type=AffixType.inherent)], - item_type=ItemType.Amulet, - power=925, - rarity=ItemRarity.Unique, - ), - ), - ( - (3440, 1440), - f"{BASE_PATH}/1440p_small_read_descr_2.png", - Item( - affixes=[ - Affix(name="intelligence", value=43), - Affix(name="maximum_resource", value=7), - Affix(name="lucky_hit_chance", value=4), - ], - item_type=ItemType.Helm, - power=590, - rarity=ItemRarity.Legendary, - ), - ), - ( - (3440, 1440), - f"{BASE_PATH}/1440p_small_read_descr_3.png", - Item( - affixes=[ - Affix(name="intelligence", value=80), - Affix(name="fire_resistance", value=34), - Affix(name="to_basic_skills", value=2), - ], - item_type=ItemType.Legs, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (3440, 1440), - f"{BASE_PATH}/1440p_small_read_descr_6.png", - Item( - affixes=[ - Affix(name="intelligence", value=77), - Affix(name="maximum_life", value=794), - Affix(name="damage_over_time", value=51), - ], - item_type=ItemType.Gloves, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_1.png", - Item( - affixes=[ - Affix(name="intelligence", value=87), - Affix(name="essence_per_second", value=3, type=AffixType.rerolled), - Affix(name="movement_speed", value=14.5), - Affix(name="lucky_hit_up_to_a_chance_to_freeze_for_seconds", value=13, type=AffixType.tempered), - Affix(name="movement_speed", value=9.5, type=AffixType.tempered), - ], - inherent=[Affix(name="attacks_reduce_evades_cooldown_by_seconds", value=1.5, type=AffixType.inherent)], - item_type=ItemType.Boots, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_2.png", - Item( - affixes=[ - Affix(name="movement_speed", value=23.1), - Affix(name="maximum_resistance_to_all_elements", value=8.6), - Affix(name="resistance_to_all_elements", value=69), - Affix(name="damage_reduction", value=23), - ], - aspect=Aspect(name="tyraels_might", value=5213), - inherent=[Affix(name="ignore_durability_loss", value=None, type=AffixType.inherent)], - item_type=ItemType.ChestArmor, - power=925, - rarity=ItemRarity.Mythic, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_3.png", - Item( - affixes=[ - Affix(name="maximum_life", value=950), - Affix(name="cooldown_reduction", value=9.1, type=AffixType.rerolled), - Affix(name="to_conjuration_mastery", value=2), - Affix(name="unstable_currents_cooldown_reduction", value=16.1, type=AffixType.tempered), - Affix(name="overpower_damage", value=80.5, type=AffixType.tempered), - ], - inherent=[Affix(name="resistance_to_all_elements", value=25, type=AffixType.inherent)], - item_type=ItemType.Amulet, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_4.png", - Item( - affixes=[ - Affix(name="maximum_life", value=1342), - Affix(name="life_on_hit", value=39), - Affix(name="lucky_hit_up_to_a_chance_to_restore_primary_resource", value=23), - ], - inherent=[Affix(name="damage_over_time", value=40, type=AffixType.inherent)], - item_type=ItemType.Staff, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_5.png", - Item( - affixes=[ - Affix(name="intelligence", value=149, type=AffixType.greater), - Affix(name="maximum_life", value=1441, type=AffixType.greater), - Affix(name="to_flame_shield", value=3, type=AffixType.rerolled), - Affix(name="flame_shield_duration", value=17.2, type=AffixType.tempered), - Affix(name="frost_nova_size", value=47.6, type=AffixType.tempered), - ], - item_type=ItemType.ChestArmor, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1915, 1005), - f"{BASE_PATH}/1080p_small_read_descr_6.png", - Item( - affixes=[ - Affix(name="intelligence", value=198, type=AffixType.rerolled), - Affix(name="maximum_life", value=2882, type=AffixType.greater), - Affix(name="critical_strike_damage", value=108.1), - Affix(name="critical_strike_damage", value=210, type=AffixType.tempered), - # image quality is so bad it reads 70.19 instead of 70.1 - Affix(name="chance_for_a_second_lightning_spear_when_cast", value=70.19, type=AffixType.tempered), - ], - inherent=[Affix(name="damage_over_time", value=40, type=AffixType.inherent)], - item_type=ItemType.Staff, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_7.png", - Item( - affixes=[ - Affix(name="maximum_life", value=665), - Affix(name="maximum_resource", value=13), - Affix(name="critical_strike_chance", value=7.0), - ], - inherent=[Affix(name="lucky_hit_chance", value=10, type=AffixType.inherent)], - item_type=ItemType.Focus, - power=876, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_medium_read_descr_1.png", - Item( - affixes=[ - Affix(name="strength", value=77), - Affix(name="armor", value=1290, type=AffixType.rerolled), - Affix(name="critical_strike_chance", value=8), - ], - item_type=ItemType.Gloves, - power=794, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_medium_read_descr_2.png", - Item( - affixes=[ - Affix(name="movement_speed", value=21.4), - Affix(name="maximum_resistance_to_all_elements", value=9.8), - Affix(name="resistance_to_all_elements", value=78), - Affix(name="damage_reduction", value=36), - ], - aspect=Aspect(name="tyraels_might", value=5213), - inherent=[Affix(name="ignore_durability_loss", value=None, type=AffixType.inherent)], - item_type=ItemType.ChestArmor, - power=925, - rarity=ItemRarity.Mythic, - ), - ), -] - - -def _run_test_helper(img_res: tuple[int, int], input_img: str, expected_item: Item): - Cam().update_window_pos(0, 0, *img_res) - img = cv2.imread(input_img) - item = read_descr(expected_item.rarity, img) - assert item == expected_item - - -@pytest.mark.parametrize(("img_res", "input_img", "expected_item"), items) -def test_item(img_res: tuple[int, int], input_img: str, expected_item: Item): - _run_test_helper(img_res=img_res, input_img=input_img, expected_item=expected_item) diff --git a/tests/item/read_descr_season6_test.py b/tests/item/read_descr_season6_test.py index b8b92ca3..3a23c0dc 100644 --- a/tests/item/read_descr_season6_test.py +++ b/tests/item/read_descr_season6_test.py @@ -4,7 +4,6 @@ from src.cam import Cam from src.config import BASE_DIR from src.item.data.affix import Affix, AffixType -from src.item.data.aspect import Aspect from src.item.data.item_type import ItemType from src.item.data.rarity import ItemRarity from src.item.descr.read_descr import read_descr @@ -12,99 +11,7 @@ BASE_PATH = BASE_DIR / "tests/assets/item/season6" -items = [ - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_1.png", - Item( - affixes=[ - Affix(name="maximum_life", value=266), - Affix(name="cold_resistance", value=37), - Affix(name="to_armored_hide", value=3), - ], - item_type=ItemType.ChestArmor, - power=750, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/1080p_small_read_descr_2.png", - Item( - affixes=[ - Affix(name="dexterity", value=8.4), - Affix(name="movement_speed", value=20), - Affix(name="to_brilliance", value=2), - ], - inherent=[Affix(name="resistance_to_all_elements", value=25, type=AffixType.inherent)], - item_type=ItemType.Amulet, - power=750, - rarity=ItemRarity.Legendary, - ), - ), - ( - (2160, 1440), - f"{BASE_PATH}/1440p_small_read_descr_1.png", - Item( - affixes=[ - Affix(name="dexterity", value=194), - Affix(name="basic_lucky_hit_chance", value=5), - Affix(name="chance_for_basic_skills_to_deal_double_damage", value=27), - Affix(name="to_follow_through", value=2), - ], - aspect=Aspect(name="sepazontec", value=68), - inherent=[Affix(name="block_chance", value=40, type=AffixType.inherent)], - item_type=ItemType.Quarterstaff, - power=750, - rarity=ItemRarity.Unique, - ), - ), - ( - (2160, 1440), - f"{BASE_PATH}/1440p_small_read_descr_2.png", - Item( - affixes=[ - Affix(name="maximum_resource", value=8), - Affix(name="critical_strike_damage", value=76), - Affix(name="chance_for_core_skills_to_hit_twice", value=24), - Affix(name="to_velocity", value=3), - ], - aspect=Aspect(name="rod_of_kepeleke", value=2.2), - inherent=[Affix(name="block_chance", value=40, type=AffixType.inherent)], - item_type=ItemType.Quarterstaff, - power=750, - rarity=ItemRarity.Unique, - ), - ), - ( - (2160, 1440), - f"{BASE_PATH}/1440p_small_read_descr_3.png", - Item( - affixes=[ - Affix(name="dexterity", value=97), - Affix(name="maximum_life", value=255), - Affix(name="poison_resistance", value=38), - ], - item_type=ItemType.ChestArmor, - power=750, - rarity=ItemRarity.Legendary, - ), - ), - ( - (2160, 1440), - f"{BASE_PATH}/1440p_small_read_descr_4.png", - Item( - affixes=[ - Affix(name="dexterity", value=91), - Affix(name="maximum_life", value=261), - Affix(name="cold_resistance", value=40), - ], - item_type=ItemType.ChestArmor, - power=750, - rarity=ItemRarity.Legendary, - ), - ), -] +items = [] materials = [ ( @@ -167,17 +74,7 @@ item_type=ItemType.Sigil, rarity=ItemRarity.Common, ), - ), - ( - (2560, 1440), - f"{BASE_PATH}/1440p_small_sigil_2.png", - Item( - affixes=[Affix(name="ancestors_favor"), Affix(name="monster_barrier")], - inherent=[Affix(name="whispering_pines", type=AffixType.inherent)], - item_type=ItemType.Sigil, - rarity=ItemRarity.Common, - ), - ), + ) ] diff --git a/tests/item/read_descr_unknown_test.py b/tests/item/read_descr_unknown_test.py deleted file mode 100644 index 559a45c7..00000000 --- a/tests/item/read_descr_unknown_test.py +++ /dev/null @@ -1,164 +0,0 @@ -import cv2 -import pytest - -from src.cam import Cam -from src.config import BASE_DIR -from src.item.data.affix import Affix, AffixType -from src.item.data.item_type import ItemType -from src.item.data.rarity import ItemRarity -from src.item.descr.read_descr import read_descr -from src.item.models import Item - -BASE_PATH = BASE_DIR / "tests/assets/item" - -legendary = [ - ( - (2560, 1440), - f"{BASE_PATH}/unknown/read_descr_codex_upgrade_1440p_2.png", - Item( - affixes=[Affix(name="strength", value=86), Affix(name="maximum_life", value=394), Affix(name="damage_over_time", value=57)], - codex_upgrade=True, - inherent=[Affix(name="critical_strike_damage", value=17.5, type=AffixType.inherent)], - item_type=ItemType.Sword, - power=804, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/unknown/read_descr_legendary_1080p.png", - Item( - affixes=[Affix(name="intelligence", value=88), Affix(name="maximum_life", value=828), Affix(name="damage", value=25)], - inherent=[Affix(name="lucky_hit_chance", value=10.0, type=AffixType.inherent)], - item_type=ItemType.Wand, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/unknown/read_descr_legendary_1080p_4.png", - Item( - affixes=[Affix(name="intelligence", value=83), Affix(name="maximum_life", value=728), Affix(name="damage", value=20)], - inherent=[Affix(name="lucky_hit_chance", value=10.0, type=AffixType.inherent)], - item_type=ItemType.Wand, - power=910, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/unknown/read_descr_legendary_1080p_7.png", - Item( - affixes=[ - Affix(name="maximum_life", value=1591), - Affix(name="energy_on_kill", value=4), - Affix(name="critical_strike_damage", value=150, type=AffixType.greater), - ], - inherent=[Affix(name="vulnerable_damage", value=32, type=AffixType.inherent)], - item_type=ItemType.Crossbow2H, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (1920, 1080), - f"{BASE_PATH}/unknown/read_descr_legendary_1080p_8.png", - Item( - affixes=[ - Affix(name="maximum_life", value=1591), - Affix(name="energy_on_kill", value=4), - Affix(name="critical_strike_damage", value=150, type=AffixType.greater), - ], - inherent=[Affix(name="vulnerable_damage", value=32, type=AffixType.inherent)], - item_type=ItemType.Crossbow2H, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (2560, 1440), - f"{BASE_PATH}/unknown/read_descr_legendary_1440p.png", - Item( - affixes=[ - Affix(name="physical_damage", value=7.5), - Affix(name="damage_with_ranged_weapons", value=7.5), - Affix(name="maximum_life", value=273), - Affix(name="damage_reduction_from_close_enemies", value=6.5), - ], - item_type=ItemType.ChestArmor, - power=726, - rarity=ItemRarity.Legendary, - ), - ), - ( - (2560, 1440), - f"{BASE_PATH}/unknown/read_descr_legendary_1440p_3.png", - Item( - affixes=[ - Affix(name="intelligence", value=60), - Affix(name="maximum_life", value=233), - Affix(name="resistance_to_all_elements", value=7), - ], - item_type=ItemType.Legs, - power=700, - rarity=ItemRarity.Legendary, - ), - ), - ( - (2560, 1440), - f"{BASE_PATH}/unknown/read_descr_legendary_1440p_4.png", - Item( - affixes=[Affix(name="strength", value=87), Affix(name="maximum_life", value=767), Affix(name="lucky_hit_chance", value=6.5)], - item_type=ItemType.Gloves, - power=925, - rarity=ItemRarity.Legendary, - ), - ), - ( - (3840, 1600), - f"{BASE_PATH}/unknown/read_descr_legendary_1600p.png", - Item( - affixes=[ - Affix(name="vulnerable_damage", value=8), - Affix(name="damage_to_close_enemies", value=9), - Affix(name="damage_to_crowd_controlled_enemies", value=4), - Affix(name="barrier_generation", value=5.5), - ], - inherent=[ - Affix(name="resistance_to_all_elements", value=2.9, type=AffixType.inherent), - Affix(name="shadow_resistance", value=2.9, type=AffixType.inherent), - ], - item_type=ItemType.Ring, - power=426, - rarity=ItemRarity.Legendary, - ), - ), -] - -material = [ - ((1920, 1080), f"{BASE_PATH}/unknown/read_descr_elixir_1080p.png", Item(item_type=ItemType.Elixir, rarity=ItemRarity.Magic)), - ((1920, 1080), f"{BASE_PATH}/unknown/read_descr_material_1080p.png", Item(item_type=ItemType.Material, rarity=ItemRarity.Common)), - ( - (3840, 2160), - f"{BASE_PATH}/unknown/read_descr_temper_manual_2160p.png", - Item(item_type=ItemType.TemperManual, rarity=ItemRarity.Magic), - ), -] - - -def _run_test_helper(img_res: tuple[int, int], input_img: str, expected_item: Item): - Cam().update_window_pos(0, 0, *img_res) - img = cv2.imread(input_img) - item = read_descr(expected_item.rarity, img) - assert item == expected_item - - -@pytest.mark.parametrize(("img_res", "input_img", "expected_item"), legendary) -def test_legendary(img_res: tuple[int, int], input_img: str, expected_item: Item): - _run_test_helper(img_res=img_res, input_img=input_img, expected_item=expected_item) - - -@pytest.mark.parametrize(("img_res", "input_img", "expected_item"), material) -def test_material(img_res: tuple[int, int], input_img: str, expected_item: Item): - _run_test_helper(img_res=img_res, input_img=input_img, expected_item=expected_item) diff --git a/tests/smoke_test.py b/tests/smoke_test.py deleted file mode 100644 index 04818207..00000000 --- a/tests/smoke_test.py +++ /dev/null @@ -1,32 +0,0 @@ -import time - -import cv2 - -from src.cam import Cam -from src.config import BASE_DIR -from src.item.data.rarity import ItemRarity -from src.item.descr.read_descr import read_descr -from src.item.filter import Filter -from src.item.find_descr import find_descr - -BASE_PATH = BASE_DIR / "tests/assets/item" - - -def test_smoke(): - res = (1920, 1080) - anchor = (1450, 761) - Cam().update_window_pos(0, 0, *res) - img = cv2.imread(f"{BASE_PATH}/unknown/find_descr_rare_1080p.png") - start = time.time() - found, rarity, cropped_descr, _ = find_descr(img, anchor) - print("Runtime (detect): ", time.time() - start) - assert found - if rarity == ItemRarity.Unique: - return - if rarity in [ItemRarity.Common, ItemRarity.Magic]: - return - item_descr = read_descr(rarity, cropped_descr) - assert item_descr is not None - test_filter = Filter() - res = test_filter.should_keep(item_descr) - print("Runtime (full): ", time.time() - start, res.keep)