OCR любого JPM

Перетащите фото, скан или PDF (до 2.5ГБ). Мы извлекаем текст прямо в вашем браузере — бесплатно, без ограничений, и ваши файлы никогда не покидают ваше устройство.

Конфиденциально и безопасно

Все происходит в вашем браузере. Ваши файлы никогда не попадают на наши серверы.

Молниеносно

Никаких загрузок, никаких ожиданий. Конвертируйте в тот момент, когда вы перетаскиваете файл.

Действительно бесплатно

Не требуется учетная запись. Никаких скрытых платежей. Никаких уловок с размером файла.

Оптическое распознавание символов (OCR) преобразует изображения текста — сканы, фотографии со смартфона, PDF-файлы — в машиночитаемые строки и, все чаще, в структурированные данные. Современное OCR — это конвейер, который очищает изображение, находит текст, читает его и экспортирует богатые метаданные, чтобы последующие системы могли искать, индексировать или извлекать поля. Два широко используемых стандарта вывода: hOCR, микроформат HTML для текста и макета, и ALTO XML, схема, ориентированная на библиотеки/архивы; оба сохраняют позиции, порядок чтения и другие подсказки макета и поддерживаются популярными движками, такими как Tesseract.

Краткий обзор конвейера

Предварительная обработка. Качество OCR начинается с очистки изображения: преобразования в оттенки серого, удаления шума, пороговой обработки (бинаризации) и выравнивания. Канонические учебные пособия по OpenCV охватывают глобальную, адаптивную и пороговую обработку Оцу — основные методы для документов с неравномерным освещением или бимодальными гистограммами. Когда освещение меняется в пределах страницы (подумайте о снимках с телефона), адаптивные методы часто превосходят один глобальный порог; Оцу автоматически выбирает порог, анализируя гистограмму. Коррекция наклона не менее важна: выравнивание на основе преобразования Хафа (преобразование Хафа для линий) в паре с бинаризацией Оцу является распространенным и эффективным рецептом в производственных конвейерах предварительной обработки.

Обнаружение и распознавание. OCR обычно делится на обнаружение текста (где находится текст?) и распознавание текста (что он говорит?). В естественных сценах и многих сканах полностью сверточные детекторы, такие как EAST , эффективно предсказывают четырехугольники на уровне слов или строк без тяжелых этапов предложения и реализованы в общих наборах инструментов (например, учебное пособие по обнаружению текста в OpenCV). На сложных страницах (газеты, формы, книги) важны сегментация строк/областей и определение порядка чтения:Kraken реализует традиционную сегментацию зон/строк и нейронную сегментацию базовой линии с явной поддержкой различных письменностей и направлений (слева направо/справа налево/вертикально).

Модели распознавания. Классическая рабочая лошадка с открытым исходным кодом Tesseract (с открытым исходным кодом от Google, с корнями в HP) эволюционировала от классификатора символов до распознавателя последовательностей на основе LSTM и может выдавать PDF с возможностью поиска, выходные данные, дружественные к hOCR/ALTO, и многое другое из командной строки. Современные распознаватели полагаются на моделирование последовательностей без предварительно сегментированных символов. Коннективистская временная классификация (CTC) остается основополагающей, изучая выравнивания между последовательностями входных признаков и строками выходных меток; она широко используется в конвейерах для распознавания рукописного ввода и текста на сцене.

В последние несколько лет трансформеры изменили OCR. TrOCR использует кодировщик Vision Transformer и декодер Text Transformer, обученный на больших синтетических корпусах, а затем доработанный на реальных данных, с высокой производительностью на тестах печатного, рукописного и сценического текста (см. также документацию Hugging Face). Параллельно некоторые системы обходят OCR для последующего понимания: Donut (Document Understanding Transformer) — это кодировщик-декодер без OCR, который напрямую выводит структурированные ответы (например, JSON «ключ-значение») из изображений документов (репозиторий, карточка модели), избегая накопления ошибок, когда отдельный шаг OCR передает данные в систему извлечения информации.

Движки и библиотеки

Если вам нужно готовое решение для чтения текста на многих языках, EasyOCR предлагает простой API с более чем 80 языковыми моделями, возвращающий рамки, текст и достоверность — удобно для прототипов и нелатинских письменностей. Для исторических документов Kraken отличается сегментацией базовой линии и порядком чтения с учетом письменности; для гибкого обучения на уровне строк Calamari основан на наследии Ocropy (Ocropy) с распознавателями (multi-)LSTM+CTC и CLI для тонкой настройки пользовательских моделей.

Наборы данных и тесты

Обобщение зависит от данных. Для рукописного ввода база данных рукописного ввода IAM предоставляет разнообразные по авторам английские предложения для обучения и оценки; это давний эталонный набор для распознавания строк и слов. Для текста на сцене COCO-Text наложил обширные аннотации на MS-COCO с метками для печатного/рукописного, разборчивого/неразборчивого, письменности и полных транскрипций (см. также оригинальную страницу проекта). Эта область также в значительной степени зависит от синтетического предварительного обучения: SynthText in the Wild визуализирует текст на фотографиях с реалистичной геометрией и освещением, предоставляя огромные объемы данных для предварительного обучения детекторов и распознавателей (ссылка на код и данные).

Соревнования под эгидой ICDAR’s Robust Reading сохраняют обоснованность оценки. Последние задачи подчеркивают сквозное обнаружение/чтение и включают связывание слов во фразы, с официальным кодом, сообщающим точность/полноту/F-меру, пересечение над объединением (IoU) и метрики расстояния редактирования на уровне символов, что отражает то, что должны отслеживать практики.

Форматы вывода и последующее использование

OCR редко заканчивается простым текстом. Архивы и цифровые библиотеки предпочитают ALTO XML , потому что он кодирует физический макет (блоки/строки/слова с координатами) вместе с содержимым, и он хорошо сочетается с упаковкой METS. Микроформат hOCR , напротив, встраивает ту же идею в HTML/CSS, используя классы, такие как ocr_line и ocrx_word, что упрощает отображение, редактирование и преобразование с помощью веб-инструментов. Tesseract предоставляет оба варианта, например, генерируя hOCR или PDF с возможностью поиска прямо из командной строки (руководство по выводу PDF); оболочки Python, такие как pytesseract , добавляют удобства. Существуют преобразователи для перевода между hOCR и ALTO, когда в репозиториях есть фиксированные стандарты приема — см. этот тщательно подобранный список инструментов для формата файлов OCR.

Практическое руководство

  • Начните с данных и чистоты. Если ваши изображения — это фотографии с телефона или сканы смешанного качества, вложитесь в пороговую обработку (адаптивную и Оцу) и выравнивание (Хафа) перед любой настройкой модели. Вы часто получите больше от надежного рецепта предварительной обработки, чем от замены распознавателей.
  • Выберите правильный детектор. Для отсканированных страниц с обычными столбцами может быть достаточно сегментатора страниц (зоны → строки); для естественных изображений детекторы одного прохода, такие как EAST , являются сильными базовыми линиями и подключаются ко многим наборам инструментов (пример OpenCV).
  • Выберите распознаватель, который соответствует вашему тексту. Для печатной латиницы Tesseract (LSTM/OEM) надежен и быстр; для нескольких письменностей или быстрых прототипов EasyOCR продуктивен; для рукописного ввода или исторических шрифтов рассмотрите Kraken или Calamari и планируйте тонкую настройку. Если вам нужна тесная связь с пониманием документов (извлечение пар «ключ-значение», VQA), оцените TrOCR (OCR) по сравнению с Donut (без OCR) на вашей схеме — Donut может устранить целый шаг интеграции.
  • Измеряйте то, что имеет значение. Для сквозных систем сообщайте об обнаружении F-мера и распознавании CER/WER (оба основаны на расстоянии редактирования Левенштейна ; см. CTC); для задач с интенсивным использованием макета отслеживайте IoU/плотность и нормализованное расстояние редактирования на уровне символов, как в наборах для оценки ICDAR RRC .
  • Экспортируйте богатые выходные данные. Предпочитайте hOCR /ALTO (или оба), чтобы сохранить координаты и порядок чтения — это жизненно важно для выделения результатов поиска, извлечения таблиц/полей и происхождения. CLI Tesseract и pytesseract делают это одной строкой.

Взгляд в будущее

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

Дополнительная литература и инструменты

Tesseract (GitHub) · Документация Tesseract · Спецификация hOCR · Фон ALTO · Детектор EAST · Обнаружение текста OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Рукописный ввод IAM · Инструменты формата файлов OCR · EasyOCR

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

Что такое OCR?

Оптическое распознавание символов (OCR) - это технология, используемая для преобразования различных типов документов, таких как отсканированные бумажные документы, PDF-файлы или изображения, снятые цифровой камерой, в данные, которые можно редактировать и искать.

Как работает OCR?

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

Какие практические применения у OCR?

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

OCR всегда на 100% точен?

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

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

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

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

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

В чем разница между OCR и ICR?

OCR - это аббревиатура от Optical Character Recognition (оптическое распознавание символов), которое используется для распознавания печатного текста, в то время как ICR, или Intelligent Character Recognition (интеллектуальное распознавание символов), это более продвинутая технология, которая используется для распознавания рукописного текста.

Может ли OCR обрабатывать все шрифты и размеры текста?

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

Каковы ограничения технологии OCR?

У OCR может быть проблемы при обработке документов с низким разрешением, сложных шрифтов, текста с плохим качеством печати, рукописного текста или документов, где текст плохо сочетается с фоном. Кроме того, хотя OCR может распознавать многие языки, он может не покрывать все языки идеально.

Может ли OCR сканировать цветной текст или цветной фон?

Да, OCR может сканировать цветной текст и фоны, хотя он наиболее эффективен при работе с комбинациями цветов с высоким контрастом, такими как черный текст на белом фоне. Если контраст между цветом текста и фона недостаточен, точность может снизиться.

Что такое формат JPM?

Синтаксис файла JPEG-2000

Формат изображения JPEG (Joint Photographic Experts Group), обычно известный как JPG, является широко используемым методом с потерями для сжатия цифровых изображений, особенно для тех изображений, которые создаются с помощью цифровой фотографии. Степень сжатия можно регулировать, что позволяет выбирать компромисс между размером хранилища и качеством изображения. JPEG обычно достигает сжатия 10:1 с незначительной заметной потерей качества изображения.

Сжатие JPEG используется в ряде форматов файлов изображений. JPEG/Exif является наиболее распространенным форматом изображений, используемым цифровыми камерами и другими устройствами захвата фотографических изображений; наряду с JPEG/JFIF это наиболее распространенный формат для хранения и передачи фотографических изображений во Всемирной паутине. Эти вариации формата часто не различаются и просто называются JPEG.

Формат JPEG включает в себя множество стандартов, включая JPEG/Exif, JPEG/JFIF и JPEG 2000, который является более новым стандартом, который предлагает лучшую эффективность сжатия с более высокой вычислительной сложностью. Стандарт JPEG является сложным, с различными частями и профилями, но наиболее часто используемым стандартом JPEG является базовый JPEG, который большинство людей имеют в виду, когда они упоминают изображения «JPEG».

Алгоритм сжатия JPEG в своей основе представляет собой технику сжатия на основе дискретного косинусного преобразования (DCT). DCT — это преобразование, связанное с Фурье, похожее на дискретное преобразование Фурье (DFT), но использующее только косинусные функции. DCT используется, потому что он обладает свойством концентрировать большую часть сигнала в области низких частот спектра, что хорошо коррелирует со свойствами естественных изображений.

Процесс сжатия JPEG включает в себя несколько этапов. Изначально изображение преобразуется из своего исходного цветового пространства (обычно RGB) в другое цветовое пространство, известное как YCbCr. Цветовое пространство YCbCr разделяет изображение на компонент яркости (Y), который представляет уровни яркости, и два компонента цветности (Cb и Cr), которые представляют цветовую информацию. Это разделение полезно, потому что человеческий глаз более чувствителен к изменениям яркости, чем к цвету, что позволяет более агрессивно сжимать компоненты цветности, не влияя существенно на воспринимаемое качество изображения.

После преобразования цветового пространства изображение разбивается на блоки, обычно размером 8x8 пикселей. Затем каждый блок обрабатывается отдельно. Для каждого блока применяется DCT, который преобразует данные пространственной области в данные частотной области. Этот шаг имеет решающее значение, поскольку он делает данные изображения более податливыми для сжатия, поскольку естественные изображения, как правило, имеют низкочастотные компоненты, которые более значимы, чем высокочастотные компоненты.

После применения DCT результирующие коэффициенты квантуются. Квантование — это процесс отображения большого набора входных значений в меньший набор, что эффективно уменьшает количество битов, необходимых для их хранения. Это основной источник потерь при сжатии JPEG. Шаг квантования контролируется таблицей квантования, которая определяет, какое сжатие применяется к каждому коэффициенту DCT. Регулируя таблицу квантования, пользователи могут выбирать между качеством изображения и размером файла.

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

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

Заключительным этапом процесса сжатия JPEG является сохранение сжатых данных в формате файла. Наиболее распространенным форматом является формат обмена файлами JPEG (JFIF), который определяет, как представлять сжатые данные и связанные с ними метаданные, такие как таблицы квантования и таблицы кодов Хаффмана, в файле, который может быть декодирован широким спектром программного обеспечения. Другим распространенным форматом является формат обмена изображениями (Exif), который используется цифровыми камерами и включает метаданные, такие как настройки камеры и информация о сцене.

Файлы JPEG также включают маркеры, которые представляют собой последовательности кодов, определяющие определенные параметры или действия в файле. Эти маркеры могут указывать начало изображения, конец изображения, определять таблицы квантования, указывать таблицы кодов Хаффмана и многое другое. Маркеры необходимы для правильного декодирования изображения JPEG, поскольку они предоставляют необходимую информацию для восстановления изображения из сжатых данных.

Одной из ключевых особенностей JPEG является поддержка прогрессивного кодирования. В прогрессивном JPEG изображение кодируется в несколько проходов, каждый из которых улучшает качество изображения. Это позволяет отображать изображение низкого качества, пока файл еще загружается, что может быть особенно полезно для веб-изображений. Прогрессивные файлы JPEG обычно больше, чем базовые файлы JPEG, но разница в качестве во время загрузки может улучшить пользовательский опыт.

Несмотря на широкое распространение, JPEG имеет некоторые ограничения. Сжатие с потерями может привести к артефактам, таким как блокировка, когда на изображении могут быть видны квадраты, и «звон», когда края могут сопровождаться ложными колебаниями. Эти артефакты более заметны при более высоких уровнях сжатия. Кроме того, JPEG не очень подходит для изображений с резкими краями или текстом с высокой контрастностью, поскольку алгоритм сжатия может размывать края и снижать читаемость.

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

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

Поддерживаемые форматы

AAI.aai

Изображение AAI Dune

AI.ai

Adobe Illustrator CS2

AVIF.avif

Формат файла изображения AV1

BAYER.bayer

Сырое изображение Bayer

BMP.bmp

Изображение битовой карты Microsoft Windows

CIN.cin

Файл изображения Cineon

CLIP.clip

Маска изображения Clip

CMYK.cmyk

Сырые голубые, пурпурные, желтые и черные образцы

CUR.cur

Значок Microsoft

DCX.dcx

Многостраничный рисунок ZSoft IBM PC

DDS.dds

Изображение Microsoft DirectDraw Surface

DPX.dpx

Изображение SMTPE 268M-2003 (DPX 2.0)

DXT1.dxt1

Изображение Microsoft DirectDraw Surface

EPDF.epdf

Зашифрованный формат портативного документа

EPI.epi

Формат обмена Adobe Encapsulated PostScript

EPS.eps

Adobe Encapsulated PostScript

EPSF.epsf

Adobe Encapsulated PostScript

EPSI.epsi

Формат обмена Adobe Encapsulated PostScript

EPT.ept

Зашифрованный PostScript с предварительным просмотром TIFF

EPT2.ept2

Зашифрованный PostScript уровня II с предварительным просмотром TIFF

EXR.exr

Изображение с высоким динамическим диапазоном (HDR)

FF.ff

Farbfeld

FITS.fits

Гибкая система передачи изображений

GIF.gif

Формат обмена графическими данными CompuServe

HDR.hdr

Изображение с высоким динамическим диапазоном (HDR)

HEIC.heic

Высокоэффективный контейнер изображений

HRZ.hrz

Медленное сканирование телевизионного сигнала

ICO.ico

Значок Microsoft

ICON.icon

Значок Microsoft

J2C.j2c

Кодовый поток JPEG-2000

J2K.j2k

Кодовый поток JPEG-2000

JNG.jng

Графика JPEG Network

JP2.jp2

Синтаксис файла JPEG-2000

JPE.jpe

Формат Joint Photographic Experts Group JFIF

JPEG.jpeg

Формат Joint Photographic Experts Group JFIF

JPG.jpg

Формат Joint Photographic Experts Group JFIF

JPM.jpm

Синтаксис файла JPEG-2000

JPS.jps

Формат Joint Photographic Experts Group JPS

JPT.jpt

Синтаксис файла JPEG-2000

JXL.jxl

Изображение JPEG XL

MAP.map

База данных изображений с множественным разрешением (MrSID)

MAT.mat

Формат изображения MATLAB уровня 5

PAL.pal

Палмовый пиксмап

PALM.palm

Палмовый пиксмап

PAM.pam

Общий 2-мерный формат битмапа

PBM.pbm

Портативный формат битмапа (черно-белый)

PCD.pcd

Фото CD

PCT.pct

Apple Macintosh QuickDraw/PICT

PCX.pcx

ZSoft IBM PC Paintbrush

PDB.pdb

Формат просмотра базы данных Palm

PDF.pdf

Портативный формат документа

PDFA.pdfa

Портативный формат архива документов

PFM.pfm

Портативный формат с плавающей запятой

PGM.pgm

Портативный формат серого битмапа (оттенки серого)

PGX.pgx

Формат JPEG 2000 без сжатия

PICT.pict

Apple Macintosh QuickDraw/PICT

PJPEG.pjpeg

Совместная группа экспертов по фотографии формат JFIF

PNG.png

Портативная графика сети

PNG00.png00

Наследование PNG бит-глубины, типа цвета от исходного изображения

PNG24.png24

Непрозрачный или бинарно прозрачный 24-битный RGB (zlib 1.2.11)

PNG32.png32

Непрозрачный или бинарно прозрачный 32-битный RGBA

PNG48.png48

Непрозрачный или бинарно прозрачный 48-битный RGB

PNG64.png64

Непрозрачный или бинарно прозрачный 64-битный RGBA

PNG8.png8

Непрозрачный или бинарно прозрачный 8-битный индексный

PNM.pnm

Портативный любой битмап

PPM.ppm

Портативный формат пиксмапа (цвет)

PS.ps

Файл Adobe PostScript

PSB.psb

Формат большого документа Adobe

PSD.psd

Битмап Adobe Photoshop

RGB.rgb

Сырые образцы красного, зеленого и синего

RGBA.rgba

Сырые образцы красного, зеленого, синего и альфа

RGBO.rgbo

Сырые образцы красного, зеленого, синего и непрозрачности

SIX.six

Формат графики DEC SIXEL

SUN.sun

Файл Sun Rasterfile

SVG.svg

Масштабируемая векторная графика

TIFF.tiff

Формат файла изображения с тегами

VDA.vda

Изображение Truevision Targa

VIPS.vips

Изображение VIPS

WBMP.wbmp

Беспроводное изображение (уровень 0)

WEBP.webp

Формат изображения WebP

YUV.yuv

CCIR 601 4:1:1 или 4:2:2

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

Как это работает?

Этот конвертер полностью работает в вашем браузере. Когда вы выбираете файл, он загружается в память и преобразуется в выбранный формат. Затем вы можете скачать преобразованный файл.

Сколько времени занимает преобразование файла?

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

Что происходит с моими файлами?

Ваши файлы никогда не загружаются на наши серверы. Они преобразуются в вашем браузере, а затем скачиваются. Мы никогда не видим ваши файлы.

Какие типы файлов я могу преобразовать?

Мы поддерживаем преобразование между всеми форматами изображений, включая JPEG, PNG, GIF, WebP, SVG, BMP, TIFF и другие.

Сколько это стоит?

Этот конвертер полностью бесплатен и всегда будет бесплатным. Поскольку он работает в вашем браузere, нам не нужно платить за серверы, поэтому мы не взимаем плату с вас.

Могу ли я преобразовать несколько файлов одновременно?

Да! Вы можете преобразовать сколько угодно файлов одновременно. Просто выберите несколько файлов при их добавлении.