-
Notifications
You must be signed in to change notification settings - Fork 846
5.1. Local Map
LmeSzinc edited this page Oct 18, 2021
·
1 revision
想必你已经阅读过 Alas 的海图识别的文档。在识别之后,module/map_detection/view.py
将两种识别方法封装了起来,并整合了敌人识别
View
对象的识别结果,称为局部地图(Local Map)。局部地图的识别只需要一张游戏截图,并且可以在 Alas 外运行,你可以使用以下代码来调试 Alas 的海图识别。
class Config:
# Paste your config here
pass
# Image filepath here
file = ''
md = View(AzurLaneConfig('template').merge(Config()))
image = np.array(Image.open(file).convert('RGB'))
# If you have any `homo_storage` in log, paste here and uncomment
# sto = ((8, 5), [(355, 117), (1265, 117), (288, 559), (1417, 559)])
# md.backend.load_homography(storage=sto)
md.load(image)
md.predict()
md.show()
md.backend.draw()
创建一个 View 对象,需要 AzurLaneConfig,模式可选普通图 main
或者大世界 os
。
默认情况下,局部地图识别使用 Homography 方法识别,你可以在 config 里指定识别方法
DETECTION_BACKEND = 'perspective' # Or 'homography'
在 Homography 方法下,第一次识别会调用 Perspective 方法计算透视变换参数,并缓存至 homo_storage。一般而言,海域内的透视不会变化,Alas 会一直使用同一个 View 对象,同一个 View 对象也会使用同一个 homo_storage,直到任务切换。如果第一次计算的透视变换参数不正确(比如镜头位于角落),会影响到接下来的识别。而在 Perspective 方法下,不会有这个影响。
载入一张截图,完成海图识别,获得以下属性:
-
grids 海域中的每一个格子,
dict, key: (x, y), value: Grid object
-
shape 局部海域的大小,
(x, y)
-
center_loca 镜头中心对准的格子的坐标,
(x, y)
- center_offset 镜头中心偏离格子中心的向量,在计算滑动距离时使用
- swipe_base 反映海域中网格大小的量,在计算滑动距离时使用
识别地图中的敌人,问号,己方舰队等
在不重新进行海图识别的情况下,将图片载入至所有格子内
选择海域中任何你感兴趣格子,返回 SelectedGrids 对象
Getting Started
- Installation [EN]
- Installation [CN]
- Installation With Docker [EN]
- Emulator Support [CN]
- FAQ [EN/CN]
- FAQ [JP]
- Troubleshooting [EN]
- Another Installation guide
- Research Filter String [EN]
- Research Filter String [CN]
- Reward Shop Filter String [EN/CN]
- Onepush Configuration [EN]
- Onepush Configuration [CN]
Development
- Perspective [CN]
- Perspective [EN]
- Debug perspective [CN]
- Debug perspective [EN]
- Item Statistics [EN]
- 1. Start
- 2.1. Debugging
- 2.2. Multi-server support
- 3.1. Utils
- 3.2. Decorators
- 3.3. Log
- 3.4. Exception
- 4.1. Detection objects
- 4.2. UI control
- 4.3. OCR
- 4.4. State loop
- 5.1. Local Map
- 5.2. Create globe Map
- 5.3. Globe Map
- 6.1. GUI Option
MISC