Перевод расписаний, графиков и таблиц с фото онлайн
Расписание поездов на вокзале в Берлине, прайс-лист в отеле Бангкока, таблица размеров в магазине Токио — структурированные данные встречаются в путешествиях повсюду. В отличие от обычного текста, таблицы и графики требуют особого подхода к распознаванию. Разберём, как перевести расписание с фото с помощью OCR.
Почему таблицы сложны для OCR
- Столбцы и строки — OCR распознаёт текст построчно, слева направо. Если таблица имеет сложную структуру с объединёнными ячейками или разноширокими столбцами, алгоритм может «склеить» содержимое соседних ячеек в одну строку. В результате данные из разных столбцов перемешиваются: «Берлин 08:30 14:50 23.50 €» вместо «Берлин | 08:30 | 14:50 | 23.50 €».
- Графические разделители — линии таблицы (вертикальные и горизонтальные) могут быть восприняты как буквы или символы. Tesseract.js иногда распознаёт линию как длинную череду символов вроде ||||||| или —————————. Настройка «только текст» не всегда помогает — алгоритм пытается интерпретировать любые чёрные пиксели на белом фоне.
- Числа и буквы в одной ячейке — расписания полны смешанного контента: «Платформа 5», «Выход B3», «Рейс LH 1440». OCR может путать цифру 0 с буквой O, единицу I с l, что критично для номеров рейсов и платформ.
- Повёрнутый текст в шапках таблиц — в некоторых расписаниях заголовки столбцов расположены вертикально (повёрнуты на 90°). Стандартный Tesseract.js не обрабатывает повёрнутый текст — потребуется повернуть изображение перед загрузкой.
- Разные языки в одной таблице — международные расписания часто двуязычные: заголовки на местном языке, пункты назначения транслитом или на английском. Установите язык оригинала как «автоопределение» или выберите оба возможных языка.
Что получается на практике
Рассмотрим типичную задачу: расписание поездов на берлинском вокзале. Исходная таблица:
| Zeit | Gleis | Zug | Richtung | Bemerkungen |
|---|---|---|---|---|
| 08:30 | 5 | ICE 702 | Hamburg Hbf | pünktlich |
| 09:15 | 4 | IC 2081 | Köln Hbf | — |
OCR может дать плоский вывод: «Zeit Gleis Zug Richtung Bemerkungen 08:30 5 ICE 702 Hamburg Hbf pünktlich 09:15 4 IC 2081 Köln Hbf —». Связь между столбцами теряется, но сами значения (время, платформа, поезд, направление) распознаются корректно. Для получения нужной информации достаточно беглого взгляда — даже в плоском виде всё читаемо.
Советы для распознавания таблиц
- Фотографируйте строго прямо — минимальный перекос помогает OCR держать строки. Используйте сетку в камере телефона, чтобы выровнять края таблицы по линиям.
- Избегайте бликов — табло на вокзалах и стеклянные стенды бликуют. Снимайте под углом 30-45° к поверхности табло, чтобы убрать отражения. Для бумажных таблиц — прижмите и снимайте без вспышки.
- Кадрируйте таблицу — обрежьте лишнее пространство вокруг таблицы. Чем меньше «шума» на изображении, тем точнее OCR расставит строки.
- Проверяйте цифры — номера рейсов, платформ и время лучше перепроверить визуально. Ошибка в одной цифре может отправить вас не на ту платформу.
- Разделите большую таблицу на части — если таблица не помещается в кадр целиком, сделайте несколько снимков и обработайте каждый отдельно.
Как перевести расписание с фото
- Откройте ImgTranslate.
- Выберите язык оригинала (или автоопределение).
- Загрузите фото таблицы, расписания или прайс-листа.
- Нажмите «Перевести» — через несколько секунд получите распознанный текст и перевод.
Сервис бесплатный, не требует регистрации, не сохраняет загруженные изображения.
Заключение
Расписания, графики и таблицы — не самый простой контент для OCR: структура данных теряется, столбцы смешиваются, линии распознаются как символы. Но даже плоского распознанного текста достаточно, чтобы понять время отправления, номер платформы или цену. Фотографируйте прямо, избегайте бликов и кадрируйте таблицу для лучшего результата. Попробуйте перевести расписание с фото на ImgTranslate.