LunaTranslator OCR: настройка распознавания текста

LunaTranslator не распознаёт текст сам по себе — модуль OCR в нём подключается отдельно, и если переводчик показывает пустую строку вместо текста из игры, чаще всего причина в невыбранном движке распознавания или в неправильно заданной области захвата. LunaTranslator — это бесплатный инструмент с открытым кодом для перевода визуальных новелл и японских игр, где текст нельзя извлечь напрямую через хуки, поэтому OCR-режим становится основным способом получения текста.

В этой статье разберём, какие движки OCR поддерживает программа, как настроить захват области экрана, почему распознавание может не работать или выдавать мусорные символы, и какие действия помогают восстановить перевод. Материал ориентирован на версию программы для Windows; интерфейс и состав движков могут меняться между релизами, поэтому точные названия пунктов сверяйте с актуальной сборкой.

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

Принцип работы простой: программа делает снимок заданной области экрана, отправляет изображение в движок распознавания, получает текст и передаёт его в модуль машинного перевода. Весь цикл повторяется автоматически, поэтому пользователь видит перевод почти в реальном времени, пока в игре меняются реплики.

Важно понимать ограничение метода. Качество результата зависит от чёткости шрифта, контрастности текста и фона, а также от того, насколько точно выделена область захвата. Стилизованные шрифты, текст поверх сложных фонов и анимированные эффекты заметно снижают точность распознавания — это особенность самой технологии OCR, а не только конкретной программы.

Если игра позволяет извлекать текст через хуки (прямое чтение из памяти), этот способ обычно точнее и быстрее OCR. Распознавание имеет смысл включать там, где хуки не срабатывают: в играх на движках, которые не поддерживаются, или при выводе текста в виде картинки.

Доступные движки распознавания

LunaTranslator поддерживает несколько OCR-движков, и их набор зависит от версии сборки. Обычно доступны локальные и онлайн-варианты, которые различаются по скорости, точности и требованиям к системе.

  • 🔧 Локальные движки — работают без интернета, требуют загрузки языковых моделей и могут нагружать процессор или видеокарту.
  • 🌐 Онлайн-сервисы — часто точнее распознают сложные шрифты, но требуют стабильного соединения и иногда регистрации или API-ключа.
  • 🪟 Системный OCR Windows — использует встроенные возможности ОС, если соответствующий языковой пакет установлен в системе.
  • Специализированные модели — отдельные движки заточены под японский или китайский текст и справляются с вертикальной вёрсткой.

Какой движок выбрать? Для японских визуальных новелл разумно начать с локального движка, оптимизированного под японский язык: он не зависит от сети и работает быстрее. Если точность неудовлетворительная — попробуйте онлайн-вариант и сравните результат на одном и том же фрагменте текста.

Почему локальный OCR может работать медленно

Локальные модели распознавания выполняют вычисления на вашем устройстве. На слабом процессоре обработка каждого кадра занимает заметное время. Если сборка поддерживает ускорение на GPU, проверьте соответствующую опцию в настройках движка — это может существенно сократить задержку между появлением реплики и её переводом.

Пошаговая настройка OCR-режима

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

Сначала запустите игру и дождитесь появления текста на экране. Затем откройте LunaTranslator и в настройках источника текста выберите режим OCR вместо хуков. Далее укажите движок распознавания и при необходимости загрузите языковую модель для нужного языка — без неё распознавание не запустится.

После этого задайте область захвата: программа предложит выделить рамкой ту часть окна игры, где появляется текст. Старайтесь охватить только текстовое поле, не захватывая лишний фон и элементы интерфейса — это повышает и точность, и скорость. Наконец, выберите переводчик и проверьте результат на новой реплике.

☑️ Проверка настройки OCR

Выполнено: 0 / 5
⚠️ Внимание: если игра работает в полноэкранном эксклюзивном режиме, захват экрана может не срабатывать — окно захвата окажется чёрным. Переведите игру в оконный или безрамочный оконный режим через её настройки и проверьте распознавание снова.

Типичные ошибки и их решение

Самая частая жалоба — программа выдаёт пустую строку или не реагирует на смену текста. Возможные причины: не загружена языковая модель движка, область захвата сбилась после изменения разрешения игры, либо онлайн-сервис недоступен. Проверяйте эти пункты по очереди, начиная с модели.

Вторая типичная проблема — мусорные символы вместо осмысленного текста. Здесь обычно виноваты низкое качество картинки или несоответствие языка: движок, обученный на японском, будет выдавать бессмыслицу на китайском тексте. Также проверьте масштабирование интерфейса Windows — при нестандартном масштабе координаты области захвата могут смещаться.

СимптомВозможная причинаЧто проверить
Пустой результат распознаванияНе загружена языковая модельНастройки движка, наличие модели
Чёрное окно захватаЭксклюзивный полноэкранный режимОконный режим в настройках игры
Мусорные символыНеверный язык движка или шумный фонЯзык модели, контраст текста
Большая задержка переводаМедленный локальный движок или сетьСмена движка, ускорение на GPU
Область захвата смещенаСмена разрешения или масштабаПереназначить область захвата
⚠️ Внимание: онлайн-движки OCR отправляют скриншоты области экрана на сторонний сервер. Если в кадр попадают личные данные или изображения, которые вы не хотите передавать третьим лицам, используйте локальный движок распознавания.
📊 Какой OCR-движок вы используете в LunaTranslator?
Локальный (офлайн)
Онлайн-сервис
Системный OCR Windows
Пока не настроил, есть проблемы

Как повысить точность распознавания

Несколько практических приёмов заметно улучшают результат без смены движка. Во-первых, сузьте область захвата до самого текстового поля: чем меньше лишних пикселей, тем меньше шансов, что движок примет элементы фона за символы. Во-вторых, если игра позволяет, увеличьте размер шрифта или выберите более простой его вариант.

В-третьих, обратите внимание на настройки предобработки изображения, если они есть в вашей версии программы: бинаризация и повышение контраста помогают при полупрозрачных текстовых окнах. И наконец, для вертикального японского текста убедитесь, что выбранный движок вообще поддерживает вертикальную вёрстку — не все модели её понимают.

OCR или хуки: что выбрать

Если для вашей игры существует рабочий хук, используйте его. Хук извлекает текст напрямую, без ошибок распознавания, без задержек на обработку изображения и без зависимости от внешнего вида шрифта. OCR остаётся решением для случаев, когда текст отрисован как картинка или движок игры не поддерживается.

Комбинированный подход тоже возможен: часть игр выводит основной текст доступным для хука способом, а всплывающие подсказки или меню — графически. В такой ситуации OCR настраивается точечно на проблемные области.

Часто задаваемые вопросы

Работает ли OCR в LunaTranslator без интернета?

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

Почему программа не видит текст в полноэкранной игре?

Вероятная причина — эксклюзивный полноэкранный режим, который блокирует захват изображения сторонними программами. Переключите игру в оконный или безрамочный режим и заново задайте область захвата.

Можно ли распознавать вертикальный японский текст?

Можно, но только теми движками, которые поддерживают вертикальную вёрстку. Проверьте описание движка в настройках программы и протестируйте его на реальном фрагменте игры.

OCR выдаёт текст с ошибками — это исправимо?

Частично. Помогают сужение области захвата, повышение контраста, смена движка и выбор более крупного шрифта в игре. Полностью исключить ошибки распознавания на сложных шрифтах невозможно — это ограничение технологии.

Нужен ли OCR, если хук уже работает?

Нет. Рабочий хук даёт более точный и быстрый результат. OCR стоит включать только для тех элементов игры, текст которых не перехватывается хуком.