Понимание OCR и повышение точности

Это руководство объясняет, как работает OCR в VNTranslator, и предоставляет практические советы по повышению точности распознавания текста.

Примечание: Это руководство в основном посвящено традиционным OCR-движкам (Tesseract OCR и Windows OCR). Если вы используете современные OCR-движки, такие как Fast OCR, движки на базе LLM (Qwen 2.5 VL, GPT-4 Vision, Claude Vision) или облачные движки (Google Cloud Vision, Azure Cloud Vision), вы можете пропустить большинство настроек предварительной обработки, так как эти движки автоматически справляются со сложными фонами и цветным текстом.

Как работает OCR в VNTranslator

1. Снимок экрана

Первый шаг в процессе OCR — захват изображения с экрана. Качество захваченного изображения существенно влияет на способность OCR-движка точно распознавать текст.

2. Предварительная обработка (обработка изображения)

Только для традиционных OCR-движков.

Предварительная обработка в основном требуется при использовании Tesseract OCR или Windows OCR. Современные OCR-движки, такие как Fast OCR, движки на базе LLM, и облачные движки могут справляться с различными условиями текста без настроек предварительной обработки.

Во время предварительной обработки изображение корректируется так, чтобы текст был черным на белом фоне. Такой контраст облегчает распознавание текста традиционными OCR-движками.

Когда следует использовать предварительную обработку:

  • При использовании Tesseract OCR или Windows OCR

  • Текст в игре имеет цветные фоны

  • Низкий контраст между текстом и фоном

  • Необходимо повысить точность распознавания для традиционных движков

Когда предварительная обработка НЕ требуется:

  • При использовании Fast OCR или современных OCR-движков

  • При использовании движков на базе LLM (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 для офлайн, быстрого распознавания со средней точностью

    • Используйте облачные движки для наивысшей точности при работе со сложным текстом

    • Используйте движки на базе LLM для максимальной гибкости и точности

Для всех типов OCR-движков

  1. Используйте постобработку: Если распознавание текста неверно или вы хотите удалить определенные символы, используйте RegExp на этапе постобработки для уточнения вывода.

  2. Правильно позиционируйте область захвата: Убедитесь, что область захвата охватывает только окно диалога с текстом, чтобы не захватывать ненужные элементы.

  3. Тестируйте разные движки: Попробуйте разные OCR-движки, чтобы найти тот, который лучше всего подходит для вашей конкретной игры или визуального романа.