Распознавание чеков и квитанций с фото: OCR для сканов
Чеки и квитанции — одни из самых частых документов, которые нужно распознать и перевести в поездках. Термобумага, мелкий шрифт, плохое качество печати — всё это превращает OCR чека в нетривиальную задачу. Разберём, как правильно фотографировать чеки для распознавания и какие результаты можно ожидать.
Почему чеки сложны для распознавания
- Термобумага — большинство чеков печатается на термобумаге, которая темнеет со временем и на свету. Чек из 2023 года может быть уже почти нечитаемым из-за выцветания. Фотографировать такие чеки нужно при хорошем освещении, но без бликов.
- Мелкий шрифт — шрифт на чеках обычно 8-10pt, с узким межбуквенным расстоянием. Для OCR это означает повышенные требования к разрешению: чем мельче текст, тем чётче должно быть фото.
- Моноширинный шрифт — многие кассовые аппараты используют шрифты с фиксированной шириной. Tesseract.js справляется с ними хорошо, но цифры 0 и O, 1 и I, 5 и S могут путаться.
- Плохой контраст — на старых чеках или чеках с грязной лентой буквы могут быть бледными, а фон — неравномерным. Чёрные буквы на белом фоне — идеал, который встречается не всегда.
- Завёрнутые края — термический чек часто сворачивается в трубочку. На фото текст по краям может быть искажён или находиться не в фокусе. Расправьте чек под прессом или прижмите стеклом.
- Нестандартные форматы — чеки бывают разной ширины и длины, от узких лент до квадратных наклеек. OCR должен корректно определять границы текста.
Как правильно фотографировать чек
1. Расправьте чек
Положите чек на ровную поверхность. Если он скручен, прижмите его прозрачным стеклом или тяжёлой книгой на несколько минут. Чем ровнее чек — тем точнее OCR.
2. Используйте рассеянное освещение
Термобумага бликует. Лучше всего фотографировать при дневном рассеянном свете или с использованием двух источников света с разных сторон. Избегайте вспышки — она создаёт блики на глянцевой поверхности.
3. Снимайте с близкого расстояния
Чек должен занимать большую часть кадра. Мелкий текст на расстоянии 30 см не распознается — поднесите камеру на 10-15 см. Убедитесь, что текст в фокусе по всей площади чека.
4. Выберите максимальное разрешение
Для мелкого текста на чеке нужно разрешение не менее 300 DPI в пересчёте на размер чека. В телефоне это означает выбор максимального разрешения камеры (не экономьте на качестве).
Что можно распознать на чеке
ImgTranslate с Tesseract.js может распознать на чеке или квитанции:
- Названия товаров и услуг — позиции в чеке на иностранном языке, их количество и цена.
- Итоговые суммы — общая стоимость, скидки, налоги (VAT/GST).
- Названия магазинов — бренд и адрес торговой точки.
- Датировку и номер чека — дата покупки и идентификатор транзакции.
После распознавания вы можете перевести любой фрагмент текста на русский язык. Это особенно полезно для чеков из супермаркетов, ресторанов и аптек за границей.
Практический пример
Вы купили продукты в супермаркете в Таиланде. На чеке: «นมสด 1 ฿45.00, ขนมปัง 2 ฿35.00, รวม ฿115.00». ImgTranslate распознает текст на тайском, а AI-переводчик покажет: «Молоко свежее 1 — 45 бат, Хлеб 2 — 35 бат, Итого — 115 бат». Теперь вы точно знаете, за что заплатили.
Как распознать чек с фото
- Откройте ImgTranslate.
- Выберите язык текста на чеке (или автоопределение).
- Загрузите фото чека или квитанции.
- Нажмите «Перевести» — получите распознанный текст с переводом.
Сервис бесплатный, не требует регистрации, не сохраняет загруженные изображения.
Заключение
Чеки — сложный, но важный объект для OCR. Термобумага, мелкий шрифт и завёрнутые края требуют качественного фото. Tesseract.js справляется с печатным текстом на чеках, особенно если следовать советам по съёмке. ImgTranslate поможет не только распознать, но и перевести содержимое — чтобы вы всегда знали, что купили и сколько заплатили.
Попробуйте распознать чек с фото на ImgTranslate.