@@ -525,8 +525,42 @@ request.recognitionLanguages = configStore.selectedLanguageCodes // 用户选
525525| 文件 | 描述 |
526526| -----| ------|
527527| ` OCRConfigStore.swift ` | 语言配置存储(` OCRLanguageMode ` 、` OCRLanguage ` ,30 种语言) |
528- | ` VisionOCRService.swift ` | 根据 ` OCRConfigStore ` 动态设置语言参数 |
529- | ` OCRSettingsView.swift ` | 简洁的语言选择 UI(下拉菜单 + 语言选择 Sheet) |
528+ | ` VisionOCRService.swift ` | 根据 ` OCRConfigStore ` 动态设置语言参数,输出详细日志 |
529+ | ` OCRSettingsView.swift ` | 简洁的语言选择 UI(下拉菜单 + 语言选择 Sheet + Debug 测试) |
530+
531+ #### OCR 识别日志
532+
533+ ` VisionOCRService ` 会输出详细的日志信息,帮助调试和验证识别结果:
534+
535+ ```
536+ [VisionOCR] Starting recognition, image size: 1080x1920
537+ [VisionOCR] Language mode: automatic, languages: zh-Hans, zh-Hant, en-US
538+ [VisionOCR] ✅ Recognition completed: 25 blocks (from 25 observations)
539+ [VisionOCR] 📊 Confidence: avg=0.95, min=0.82, max=0.99
540+ [VisionOCR] 🌐 Detected scripts: CJK (Chinese/Japanese Kanji), Latin (English/European)
541+ [VisionOCR] 📝 First 5 blocks:
542+ [VisionOCR] [1] "你好,今天天气真好" (conf: 0.98)
543+ [VisionOCR] [2] "是啊,适合出去走走" (conf: 0.95)
544+ ...
545+ ```
546+
547+ 日志内容包括:
548+ - ** 语言模式** :自动检测(automatic)或手动选择(manual)
549+ - ** 使用的语言列表** :实际传递给 Vision 的语言代码
550+ - ** 识别统计** :块数量、置信度分布(平均/最小/最大)
551+ - ** 检测到的书写系统** :CJK、Hiragana、Katakana、Hangul、Arabic、Cyrillic、Thai、Latin
552+ - ** 前 5 个识别结果预览** :文本内容和置信度
553+
554+ #### Debug 测试功能
555+
556+ 在 Settings → OCR Settings 中提供 Debug 测试功能("Test OCR Recognition"),支持:
557+
558+ 1 . ** 导入图片** :点击按钮选择图片,或拖放图片到窗口
559+ 2 . ** 实时识别** :导入后自动执行 OCR 识别
560+ 3 . ** 结果展示** :
561+ - 统计信息:块数量、处理时间、语言模式、检测到的书写系统
562+ - 识别文本:完整的识别文本内容
563+ - 块详情:每个识别块的文本和 bbox 坐标
530564
531565### 6.5 自定义词汇 (customWords)
532566
@@ -667,10 +701,10 @@ Vision 框架返回的数据映射到 `OCRBlock` 结构:
667701
668702| 文件 | 描述 |
669703| -----| ------|
670- | ` VisionOCRService.swift ` | Vision OCR 服务实现 |
704+ | ` VisionOCRService.swift ` | Vision OCR 服务实现(含详细识别日志) |
671705| ` OCRConfigStore.swift ` | 语言配置存储(` OCRLanguageMode ` 、` OCRLanguage ` 、30 种语言) |
672706| ` OCRModels.swift ` | 数据模型(` OCRResult ` 、` OCRBlock ` )和协议定义 |
673- | ` OCRSettingsView.swift ` | 设置界面(语言模式选择、语言列表) |
707+ | ` OCRSettingsView.swift ` | 设置界面(语言模式选择、语言列表、Debug 测试 ) |
674708| ` DIContainer.swift ` | 服务注册 |
675709
676710### 9.2 OCRAPIServiceProtocol 协议
@@ -705,6 +739,27 @@ protocol OCRAPIServiceProtocol {
705739
706740### 10.3 调试技巧
707741
742+ ** 使用内置 Debug 工具**
743+
744+ 1 . 打开 Settings → OCR Settings
745+ 2 . 点击 "Test OCR Recognition" 按钮
746+ 3 . 导入测试图片(支持拖放)
747+ 4 . 查看识别结果、统计信息和块详情
748+
749+ ** 查看日志**
750+
751+ 打开 Settings → Logs 窗口,过滤 ` [VisionOCR] ` 查看识别日志:
752+
753+ ```
754+ [VisionOCR] Starting recognition, image size: 1080x1920
755+ [VisionOCR] Language mode: automatic, languages: zh-Hans, zh-Hant, en-US
756+ [VisionOCR] ✅ Recognition completed: 25 blocks
757+ [VisionOCR] 📊 Confidence: avg=0.95, min=0.82, max=0.99
758+ [VisionOCR] 🌐 Detected scripts: CJK, Latin
759+ ```
760+
761+ ** 代码调试**
762+
708763``` swift
709764// 打印支持的语言
710765if let languages = try ? VNRecognizeTextRequest.supportedRecognitionLanguages (for : .accurate , revision : VNRecognizeTextRequestRevision3) {
0 commit comments