Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions tasks/Component/Costume/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ class RealmType(str, Enum):
COSTUME_REALM_2 = 'costume_realm_2' # 狐梦之乡
COSTUME_REALM_3 = 'costume_realm_3' # 编心织忆
COSTUME_REALM_4 = 'costume_realm_4' # 花海繁生
COSTUME_REALM_5 = 'costume_realm_5' # 莲心梦乡

# 鲤鱼旗皮肤
class CarpBannerType(str, Enum):
COSTUME_CARPBANNER_DEFAULT = 'costume_carpbanner_default' # 吉鲤游风
COSTUME_CARPBANNER_1 = 'costume_carpbanner_1' # 无垢莲台(仅适配莲心梦乡)

# 主题,就是庭院最右下角的展开按钮
class ThemeType(str, Enum):
Expand Down Expand Up @@ -69,6 +75,7 @@ class CostumeConfig(BaseModel):
# 皮肤配置
costume_main_type: MainType = Field(default=MainType.COSTUME_MAIN, description='costume_main_type_help')
costume_realm_type: RealmType = Field(default=RealmType.COSTUME_REALM_DEFAULT, description='costume_realm_type_help')
costume_carpbanner_type: CarpBannerType = Field(default=CarpBannerType.COSTUME_CARPBANNER_DEFAULT,description='costume_realm_type_help')
costume_theme_type: ThemeType = Field(default=ThemeType.COSTUME_THEME_DEFAULT, description='costume_theme_type_help')
costume_shikigami_type: ShikigamiType = Field(default=ShikigamiType.COSTUME_SHIKIGAMI_DEFAULT, description='costume_shikigami_type_help')
costume_sign_type: SignType = Field(default=SignType.COSTUME_SIGN_DEFAULT, description='costume_sign_type_help')
Expand Down
55 changes: 46 additions & 9 deletions tasks/Component/Costume/costume_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@
from module.logger import logger

from tasks.Component.Costume.config import (MainType, CostumeConfig, RealmType,
ThemeType, ShikigamiType, SignType, BattleType)
ThemeType, ShikigamiType, SignType, BattleType, CarpBannerType)
from tasks.Component.Costume.assets import CostumeAssets
from tasks.Component.CostumeRealm.assets import CostumeRealmAssets
from tasks.Component.CostumeBattle.assets import CostumeBattleAssets
from tasks.Component.CostumeShikigami.assets import CostumeShikigamiAssets
from tasks.Component.CostumeCarpBanner.assets import CostumeCarpBannerAssets

# 庭院皮肤
# 主界面皮肤(使用字典推导式动态生成)
Expand All @@ -27,15 +28,32 @@

# 结界皮肤
realm_costume_model = {
RealmType.COSTUME_REALM_1: {'I_SHI_CARD': 'I_SHI_CARD_1',
'I_SHI_DEFENSE': 'I_SHI_DEFENSE_1',},
RealmType.COSTUME_REALM_2: {'I_SHI_CARD': 'I_SHI_CARD_2',
'I_SHI_DEFENSE': 'I_SHI_DEFENSE_2',
'I_SHI_GROWN': 'I_SHI_GROWN_2',
'I_BOX_AP': 'I_BOX_AP_2',
'I_BOX_EXP': 'I_BOX_EXP_2'},
getattr(RealmType, f"COSTUME_REALM_{i}"): {
'I_SHI_CARD': f'I_SHI_CARD_{i}',
'I_SHI_DEFENSE': f'I_SHI_DEFENSE_{i}',
'I_SHI_GROWN': f'I_SHI_GROWN_{i}',
'I_CARD_EXP': f'I_CARD_EXP_{i}',
'I_BOX_AP': f'I_BOX_AP_{i}',
'I_BOX_EXP': f'I_BOX_EXP_{i}',
'I_REALM_SHIN': f'I_REALM_SHIN_{i}',
'I_UTILIZE_EXP': f'I_UTILIZE_EXP_{i}',
'I_BOX_EXP_MAX': f'I_BOX_EXP_MAX_{i}',
} for i in range(1, 6)
}


# 鲤鱼旗皮肤
carpbanner_costume_model = {
getattr(CarpBannerType, f"COSTUME_CARPBANNER_{i}"): {
'I_SHI_CARD': f'I_SHI_CARD_{i}',
'I_SHI_DEFENSE': f'I_SHI_DEFENSE_{i}',
'I_SHI_GROWN': f'I_SHI_GROWN_{i}',
'I_CARD_EXP': f'I_CARD_EXP_{i}',
'I_UTILIZE_EXP': f'I_UTILIZE_EXP_{i}',
} for i in range(1, 2)
}


# 战斗主题(使用循环处理常规情况 + 特例处理)
battle_theme_model = {}
for i in range(1, 12):
Expand Down Expand Up @@ -81,6 +99,7 @@ def check_costume(self, config: CostumeConfig=None):
config: CostumeConfig = self.config.model.global_game.costume_config
self.check_costume_main(config.costume_main_type)
self.check_costume_realm(config.costume_realm_type)
self.check_costume_carpbanner(config.costume_carpbanner_type)
self.check_costume_battle(config.costume_battle_type)
self.check_costume_shikigami(config.costume_shikigami_type)

Expand All @@ -107,12 +126,30 @@ def check_costume_main(self, main_type: MainType):
assert_value: RuleImage = getattr(costume_assets, value)
self.replace_img(key, assert_value)

def check_costume_carpbanner(self, carpbanner_type: CarpBannerType):
if carpbanner_type == CarpBannerType.COSTUME_CARPBANNER_DEFAULT:
return
logger.info(f'Switch carp banner theme {carpbanner_type} (override realm assets)')
carpbanner_assets = CostumeCarpBannerAssets()
model = carpbanner_costume_model.get(carpbanner_type, {})
for key, value in model.items():
if not hasattr(carpbanner_assets, value):
logger.warning(f'Carp banner asset {value} not found, skip')
continue
assert_value: RuleImage = getattr(carpbanner_assets, value)
# 执行替换(覆盖结界皮肤的同名key)
self.replace_img(key, assert_value)

def check_costume_realm(self, realm_type: RealmType):
if realm_type == RealmType.COSTUME_REALM_DEFAULT:
return
logger.info(f'Switch realm theme {realm_type}')
costume_realm_assets = CostumeRealmAssets()
for key, value in realm_costume_model[realm_type].items():
model = realm_costume_model.get(realm_type, {})
for key, value in model.items():
if not hasattr(costume_realm_assets, value):
logger.warning(f'Realm asset {value} not found, skip')
continue
assert_value: RuleImage = getattr(costume_realm_assets, value)
self.replace_img(key, assert_value)

Expand Down
25 changes: 25 additions & 0 deletions tasks/Component/CostumeCarpBanner/assets.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from module.atom.image import RuleImage
from module.atom.click import RuleClick
from module.atom.long_click import RuleLongClick
from module.atom.swipe import RuleSwipe
from module.atom.ocr import RuleOcr
from module.atom.list import RuleList

# This file was automatically generated by ./dev_tools/assets_extract.py.
# Don't modify it manually.
class CostumeCarpBannerAssets:


# Image Rule Assets
# 育成
I_SHI_GROWN_1 = RuleImage(roi_front=(602,339,26,37), roi_back=(524,269,181,198), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeCarpBanner/cb1/cb1_shi_grown_1.png")
# 结界卡
I_SHI_CARD_1 = RuleImage(roi_front=(887,335,15,35), roi_back=(854,306,87,120), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeCarpBanner/cb1/cb1_shi_card_1.png")
# 防守
I_SHI_DEFENSE_1 = RuleImage(roi_front=(269,335,24,46), roi_back=(200,277,154,166), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeCarpBanner/cb1/cb1_shi_defense_1.png")
# 收取经验(没有满的图)
I_CARD_EXP_1 = RuleImage(roi_front=(875,181,57,54), roi_back=(803,111,199,185), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeCarpBanner/cb1/cb1_card_exp_1.png")
# 寄养别人的经验
I_UTILIZE_EXP_1 = RuleImage(roi_front=(589,187,58,43), roi_back=(539,144,156,123), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeCarpBanner/cb1/cb1_utilize_exp_1.png")


Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 47 additions & 0 deletions tasks/Component/CostumeCarpBanner/cb1/image.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
[
{
"itemName": "shi_grown_1",
"imageName": "cb1_shi_grown_1.png",
"roiFront": "602,339,26,37",
"roiBack": "524,269,181,198",
"method": "Template matching",
"threshold": 0.6,
"description": "育成"
},
{
"itemName": "shi_card_1",
"imageName": "cb1_shi_card_1.png",
"roiFront": "887,335,15,35",
"roiBack": "854,306,87,120",
"method": "Template matching",
"threshold": 0.6,
"description": "结界卡"
},
{
"itemName": "shi_defense_1",
"imageName": "cb1_shi_defense_1.png",
"roiFront": "269,335,24,46",
"roiBack": "200,277,154,166",
"method": "Template matching",
"threshold": 0.8,
"description": "防守"
},
{
"itemName": "card_exp_1",
"imageName": "cb1_card_exp_1.png",
"roiFront": "875,181,57,54",
"roiBack": "803,111,199,185",
"method": "Template matching",
"threshold": 0.8,
"description": "收取经验(没有满的图)"
},
{
"itemName": "utilize_exp_1",
"imageName": "cb1_utilize_exp_1.png",
"roiFront": "589,187,58,43",
"roiBack": "539,144,156,123",
"method": "Template matching",
"threshold": 0.8,
"description": "寄养别人的经验"
}
]
113 changes: 99 additions & 14 deletions tasks/Component/CostumeRealm/assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,107 @@ class CostumeRealmAssets:


# Image Rule Assets
# description
I_SHI_CARD_1 = RuleImage(roi_front=(919,295,36,66), roi_back=(868,238,141,150), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_shi_card_1.png")
# description
I_SHI_DEFENSE_1 = RuleImage(roi_front=(308,294,35,100), roi_back=(197,241,247,207), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_shi_defense_1.png")
# 育成
I_SHI_GROWN_1 = RuleImage(roi_front=(621,300,35,38), roi_back=(553,253,181,198), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_shi_grown_1.png")
# 结界卡
I_SHI_CARD_1 = RuleImage(roi_front=(923,302,38,56), roi_back=(902,288,87,120), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_shi_card_1.png")
# 防守
I_SHI_DEFENSE_1 = RuleImage(roi_front=(309,299,31,62), roi_back=(252,266,154,166), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_shi_defense_1.png")
# 收取经验(没有满的图)
I_CARD_EXP_1 = RuleImage(roi_front=(918,142,57,54), roi_back=(849,86,199,185), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_card_exp_1.png")
# 收取体力(没有满)
I_BOX_AP_1 = RuleImage(roi_front=(813,384,51,46), roi_back=(735,305,202,204), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_box_ap_1.png")
# 收取盒子的经验(没有满)
I_BOX_EXP_1 = RuleImage(roi_front=(899,390,42,45), roi_back=(854,348,147,127), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_box_exp_1.png")
# 结界皮肤
I_REALM_SHIN_1 = RuleImage(roi_front=(161,389,54,58), roi_back=(0,273,360,276), threshold=0.9, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_realm_shin_1.png")
# 寄养别人的经验
I_UTILIZE_EXP_1 = RuleImage(roi_front=(616,143,58,43), roi_back=(566,101,156,123), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_utilize_exp_1.png")
# 盒子经验满
I_BOX_EXP_MAX_1 = RuleImage(roi_front=(893,376,56,61), roi_back=(803,317,228,186), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm1/realm1_box_exp_max_1.png")


# Image Rule Assets
# description
I_SHI_GROWN_2 = RuleImage(roi_front=(663,344,36,68), roi_back=(598,280,159,186), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_shi_grown_2.png")
# description
I_SHI_CARD_2 = RuleImage(roi_front=(934,351,36,43), roi_back=(903,318,100,100), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_shi_card_2.png")
# description
I_SHI_DEFENSE_2 = RuleImage(roi_front=(369,365,33,100), roi_back=(285,315,178,188), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_shi_defense_2.png")
# description
I_BOX_AP_2 = RuleImage(roi_front=(925,448,50,54), roi_back=(852,377,154,160), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_box_ap_2.png")
# description
I_BOX_EXP_2 = RuleImage(roi_front=(991,448,41,59), roi_back=(921,372,155,173), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_box_exp_2.png")
# 育成
I_SHI_GROWN_2 = RuleImage(roi_front=(665,354,35,38), roi_back=(588,299,181,198), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_shi_grown_2.png")
# 结界卡
I_SHI_CARD_2 = RuleImage(roi_front=(935,354,32,56), roi_back=(913,329,87,120), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_shi_card_2.png")
# 防守
I_SHI_DEFENSE_2 = RuleImage(roi_front=(371,368,31,62), roi_back=(300,321,154,166), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_shi_defense_2.png")
# 收取经验(没有满的图)
I_CARD_EXP_2 = RuleImage(roi_front=(935,223,57,54), roi_back=(873,151,199,185), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_card_exp_2.png")
# 收取体力(没有满)
I_BOX_AP_2 = RuleImage(roi_front=(927,448,51,46), roi_back=(863,367,202,204), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_box_ap_2.png")
# 收取盒子的经验(没有满)
I_BOX_EXP_2 = RuleImage(roi_front=(990,457,42,45), roi_back=(953,414,147,127), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_box_exp_2.png")
# 结界皮肤
I_REALM_SHIN_2 = RuleImage(roi_front=(157,503,54,58), roi_back=(7,386,360,276), threshold=0.9, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_realm_shin_2.png")
# 寄养别人的经验
I_UTILIZE_EXP_2 = RuleImage(roi_front=(659,218,58,43), roi_back=(609,174,156,123), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_utilize_exp_2.png")
# 盒子经验满
I_BOX_EXP_MAX_2 = RuleImage(roi_front=(991,443,48,51), roi_back=(893,378,228,186), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm2/realm2_box_exp_max_2.png")


# Image Rule Assets
# 育成
I_SHI_GROWN_3 = RuleImage(roi_front=(605,304,35,38), roi_back=(530,247,181,198), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_shi_grown_3.png")
# 结界卡
I_SHI_CARD_3 = RuleImage(roi_front=(935,295,38,56), roi_back=(910,282,87,120), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_shi_card_3.png")
# 防守
I_SHI_DEFENSE_3 = RuleImage(roi_front=(253,309,31,62), roi_back=(200,269,154,166), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_shi_defense_3.png")
# 收取经验(没有满的图)
I_CARD_EXP_3 = RuleImage(roi_front=(939,147,50,54), roi_back=(864,86,199,185), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_card_exp_3.png")
# 收取体力(没有满)
I_BOX_AP_3 = RuleImage(roi_front=(949,376,51,46), roi_back=(872,298,202,204), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_box_ap_3.png")
# 收取盒子的经验(没有满)
I_BOX_EXP_3 = RuleImage(roi_front=(1012,390,42,45), roi_back=(962,347,147,127), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_box_exp_3.png")
# 结界皮肤
I_REALM_SHIN_3 = RuleImage(roi_front=(160,401,54,58), roi_back=(0,290,360,276), threshold=0.9, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_realm_shin_3.png")
# 寄养别人的经验
I_UTILIZE_EXP_3 = RuleImage(roi_front=(595,151,58,43), roi_back=(543,113,156,123), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_utilize_exp_3.png")
# 盒子经验满
I_BOX_EXP_MAX_3 = RuleImage(roi_front=(1012,374,49,50), roi_back=(919,317,228,186), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm3/realm3_box_exp_max_3.png")


# Image Rule Assets
# 育成
I_SHI_GROWN_4 = RuleImage(roi_front=(609,323,27,38), roi_back=(532,250,181,198), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_shi_grown_4.png")
# 结界卡
I_SHI_CARD_4 = RuleImage(roi_front=(929,315,38,56), roi_back=(904,299,87,120), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_shi_card_4.png")
# 防守
I_SHI_DEFENSE_4 = RuleImage(roi_front=(242,320,31,62), roi_back=(184,276,154,166), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_shi_defense_4.png")
# 收取经验(没有满的图)
I_CARD_EXP_4 = RuleImage(roi_front=(930,181,57,54), roi_back=(855,111,199,185), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_card_exp_4.png")
# 收取体力(没有满)
I_BOX_AP_4 = RuleImage(roi_front=(958,386,51,46), roi_back=(889,313,202,204), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_box_ap_4.png")
# 收取盒子的经验(没有满)
I_BOX_EXP_4 = RuleImage(roi_front=(1022,394,32,45), roi_back=(968,353,147,127), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_box_exp_4.png")
# 结界皮肤
I_REALM_SHIN_4 = RuleImage(roi_front=(228,406,54,58), roi_back=(60,293,360,276), threshold=0.9, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_realm_shin_4.png")
# 寄养别人的经验
I_UTILIZE_EXP_4 = RuleImage(roi_front=(596,181,58,43), roi_back=(545,144,156,123), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_utilize_exp_4.png")
# 盒子经验满
I_BOX_EXP_MAX_4 = RuleImage(roi_front=(1026,381,41,51), roi_back=(934,323,228,186), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm4/realm4_box_exp_max_4.png")


# Image Rule Assets
# 育成
I_SHI_GROWN_5 = RuleImage(roi_front=(642,356,35,38), roi_back=(568,295,181,198), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_shi_grown_5.png")
# 结界卡
I_SHI_CARD_5 = RuleImage(roi_front=(925,358,38,56), roi_back=(901,333,87,120), threshold=0.6, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_shi_card_5.png")
# 防守
I_SHI_DEFENSE_5 = RuleImage(roi_front=(312,356,31,62), roi_back=(257,310,154,166), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_shi_defense_5.png")
# 收取经验(没有满的图)
I_CARD_EXP_5 = RuleImage(roi_front=(922,216,57,54), roi_back=(850,145,199,185), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_card_exp_5.png")
# 收取体力(没有满)
I_BOX_AP_5 = RuleImage(roi_front=(981,420,51,46), roi_back=(925,345,202,204), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_box_ap_5.png")
# 收取盒子的经验(没有满)
I_BOX_EXP_5 = RuleImage(roi_front=(1050,430,42,45), roi_back=(996,382,147,127), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_box_exp_5.png")
# 结界皮肤
I_REALM_SHIN_5 = RuleImage(roi_front=(237,411,54,58), roi_back=(95,303,360,276), threshold=0.9, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_realm_shin_5.png")
# 寄养别人的经验
I_UTILIZE_EXP_5 = RuleImage(roi_front=(632,216,58,43), roi_back=(582,172,156,123), threshold=0.8, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_utilize_exp_5.png")
# 盒子经验满
I_BOX_EXP_MAX_5 = RuleImage(roi_front=(1048,420,48,56), roi_back=(958,353,228,186), threshold=0.7, method="Template matching", file="./tasks/Component/CostumeRealm/realm5/realm5_box_exp_max_5.png")


Loading