理解 OCR 与提高准确性

本指南解释了 VNTranslator 中 OCR 的工作原理,并提供了提高文本识别准确性的实用建议。

注意: 本指南主要侧重于传统 OCR 引擎(Tesseract OCR 和 Windows OCR)。如果您使用的是现代 OCR 引擎如 Fast OCR、基于大模型的引擎(Qwen 2.5 VL、GPT-4 Vision、Claude Vision)或基于云的引擎(Google Cloud Vision、Azure Cloud Vision),则可以跳过大部分预处理调整,因为这些引擎会自动处理复杂背景和有色文本。

VNTranslator 中 OCR 的工作原理

1. 屏幕捕获

OCR 过程的第一步是从屏幕捕获图像。捕获图像的质量会显著影响 OCR 引擎准确识别文本的能力。

2. 预处理(图像处理)

仅适用于传统 OCR 引擎。

预处理主要在使用 Tesseract OCRWindows OCR时需要。 Fast OCR, 基于大模型的引擎,以及 基于云的引擎 可以在无需预处理调整的情况下处理各种文本情况。

在预处理期间,会将图像调整为在白色背景上显示黑色文本。这种对比使传统 OCR 引擎更容易识别文本。

何时使用预处理:

  • 使用 Tesseract OCR 或 Windows OCR

  • 游戏文本具有彩色背景

  • 文本与背景之间对比度低

  • 需要提高传统引擎的识别准确性

何时不需要预处理:

  • 使用 Fast OCR 或现代 OCR 引擎

  • 使用基于大模型的引擎(Qwen 2.5 VL、GPT-4 Vision、Claude Vision)

  • 使用基于云的引擎(Google Cloud Vision、Azure Cloud Vision)

3. 选择 OCR 引擎

文本识别的准确性在很大程度上取决于您选择的 OCR 引擎。VNTranslator 支持三类 OCR 引擎:

传统 OCR 引擎

  • 示例: Tesseract OCR、Windows OCR

  • 适用场景: 黑色文本在白色背景上的简单文本

  • 局限性: 可能在处理彩色文本或复杂背景时表现不佳

  • 需要: 为提高准确性进行预处理调整

现代 OCR 引擎 ⭐⭐⭐

  • 示例: Fast OCR、EasyOCR

  • 适用场景: 可处理中等背景噪音和多色文本

  • 优点: 在无需预处理的情况下更好地处理各种文本情况

  • 需要: 很少或无需预处理

基于 AI 的 OCR 引擎 ⭐⭐⭐⭐⭐

  • 示例: Google Cloud Vision、Azure Cloud Vision、Qwen 2.5 VL、GPT-4 Vision、Claude Vision

  • 适用场景: 复杂背景、旋转文本和有色文本

  • 优点: 无需预处理也能高准确率地自动处理各种文本情况

  • 需要: 无需预处理

有关 OCR 引擎的完整比较,请参见 OCR 引擎列表.

4. 后处理

在 OCR 引擎处理文本后,将显示结果。如果识别不准确,可以在后处理中使用正则表达式(RegExp)对结果进行修正以优化输出。

后处理对所有 OCR 引擎类型都有用,可用于:

  • 移除不需要的字符

  • 修正常见的识别错误

  • 格式化输出文本


提高 OCR 准确性的技巧

针对传统 OCR 引擎(Tesseract、Windows OCR)

  1. 确保高质量的图像捕获: 屏幕捕获质量越好,OCR 的准确率越高。避免模糊或低分辨率的图像。

  2. 使用有效的预处理: 将图像调整为高对比度(白色背景上的黑色文本),以便 OCR 引擎更容易识别文本。

  3. 选择合适的阈值设置: 在预处理选项中尝试不同的阈值以找到适合您游戏的最佳设置。

针对现代和基于 AI 的 OCR 引擎

  1. 确保高质量的图像捕获: 良好的捕获质量仍然有帮助,但这些引擎对图像质量更有容忍度。

  2. 跳过预处理: 现代和基于 AI 的 OCR 引擎在使用未经预处理的原始图像时效果最佳。

  3. 为您的需求选择合适的引擎:

    • 用于离线、快速识别且精度适中的情况使用 Fast OCR 用于在复杂文本情况下追求最高准确性的使用

    • 用于离线、快速识别且精度适中的情况使用 基于云的引擎 用于实现最大灵活性和准确性的使用

    • 用于离线、快速识别且精度适中的情况使用 基于大模型的引擎 适用于所有 OCR 引擎类型

利用后处理:

  1. 如果文本识别不正确或您想移除特定字符,请在后处理中使用正则表达式(RegExp)来优化输出。 正确定位捕获区域:

  2. 确保捕获区域仅覆盖文本对话框,以避免捕获不必要的元素。 测试不同的引擎:

  3. 尝试不同的 OCR 引擎以找出最适合您特定游戏或视觉小说的引擎。 尝试不同的 OCR 引擎以找出最适合您特定游戏或视觉小说的引擎。