Skip to content

Commit 12e8d58

Browse files
authored
fix: map name recognize (#480)
针对3-2,3-3识别错误进行修复
1 parent 14c9d74 commit 12e8d58

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

autowsgr/ui/map/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def recognize_map(
143143
"""通过 OCR 识别当前地图。"""
144144
x1, y1, x2, y2 = TITLE_CROP_REGION
145145
cropped = PixelChecker.crop(screen, x1, y1, x2, y2)
146-
result = ocr.recognize_single(cropped)
146+
result = ocr.recognize_maxlen(cropped)
147147
if not result.text:
148148
_log.debug('[UI] 地图标题 OCR 无结果')
149149
return None

autowsgr/ui/map/data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ class MapIdentity:
9999
(9, 3): '南入海口海域',
100100
(9, 4): '河口外海',
101101
(9, 5): '南大洋群岛',
102-
# 第十章:极地海峡
102+
# 第十章:极地水域
103103
(10, 1): '极地海峡',
104104
}
105105
"""已知地图 (章节, 关卡号) → 名称。"""

autowsgr/vision/ocr.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,24 @@ def recognize_single(
186186
_log_fn("[OCR] recognize_single: '{}' (conf={:.2f})", best.text, best.confidence)
187187
return best
188188

189+
def recognize_maxlen(
190+
self,
191+
image: np.ndarray,
192+
allowlist: str = '',
193+
) -> OCRResult:
194+
"""识别单个文本区域,返回置信度最高的结果。
195+
196+
无结果时返回空文本、零置信度的 OCRResult。
197+
"""
198+
results = self.recognize(image, allowlist)
199+
_log_fn = _log.debug if self.verbose else _log.trace
200+
if not results:
201+
_log_fn('[OCR] recognize_maxlen: 无结果')
202+
return OCRResult(text='', confidence=0.0)
203+
best = max(results, key=lambda r: len(r.text))
204+
_log_fn("[OCR] recognize_maxlen: '{}' (conf={:.2f})", best.text, best.confidence)
205+
return best
206+
189207
def recognize_number(
190208
self,
191209
image: np.ndarray,

0 commit comments

Comments
 (0)