Оптическое распознавание символов (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.
Самая сильная тенденция — это конвергенция: обнаружение, распознавание, языковое моделирование и даже декодирование для конкретных задач объединяются в единые стеки трансформеров. Предварительное обучение на больших синтетических корпусах остается мультипликатором силы. Модели без 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) - это технология, используемая для преобразования различных типов документов, таких как отсканированные бумажные документы, PDF-файлы или изображения, снятые цифровой камерой, в данные, которые можно редактировать и искать.
OCR сканирует входное изображение или документ, разбирает изображение на отдельные символы, а затем сравнивает каждый символ с базой данных форм символов, используя распознавание по образцу или распознавание по признакам.
OCR используется в различных отраслях и приложениях, включая цифровизацию печатных документов, использование услуг перевода текста в речь, автоматизацию процесса ввода данных и помощь людям с нарушениями зрения в более качественном взаимодействии с текстом.
Несмотря на значительные усовершенствования технологии OCR, она не абсолютно надежна. Точность может варьироваться в зависимости от качества исходного документа и конкретных характеристик используемого ПО OCR.
Хотя OCR в основном предназначен для распознавания печатного текста, некоторые продвинутые системы OCR также могут распознавать чистописание. Однако точность распознавания рукописного текста обычно ниже из-за вариативности индивидуальных стилей письма.
Да, многие программы OCR могут распознавать множество языков. Однако следует убедиться, что используемое вами программное обеспечение поддерживает конкретный язык.
OCR - это аббревиатура от Optical Character Recognition (оптическое распознавание символов), которое используется для распознавания печатного текста, в то время как ICR, или Intelligent Character Recognition (интеллектуальное распознавание символов), это более продвинутая технология, которая используется для распознавания рукописного тек ста.
OCR наиболее эффективен при обработке четких, легко читаемых шрифтов и стандартных размеров текста. Хотя он способен распознавать различные шрифты и размеры, его точность может снизиться при обработке нестандартных шрифтов или очень мелкого текста.
У OCR может быть проблемы при обработке документов с низким разрешением, сложных шрифтов, текста с плохим качеством печати, рукописного текста или документов, где текст плохо сочетается с фоном. Кроме того, хотя OCR может распознавать многие языки, он может не покрывать все языки идеально.
Да, OCR может сканировать цветной текст и фоны, хотя он наиболее эффективен при работе с комбинациями цветов с высоким контрастом, такими как черный текст на белом фоне. Если контраст между цветом текста и фона недостаточен, точность может снизиться.
Формат изображений PCT, также известный как формат Macintosh PICT, — это формат графических файлов, который преимущественно использовался на компьютерах Macintosh. Изначально он был разработан как формат метафайла в 1980-х годах, что означает, что он мог содержать как растровые, так и векторные данные. Эта универсальность сделала его популярным выбором для хранения и передачи широкого спектра графических типов, от простых иллюстраций до сложных изображений. Формат PCT был разработан Apple Inc. для облегчения передачи графики между различными приложениями и для использования в качестве формата дампа графики для графической библиотеки QuickDraw, которая была основой графического пользовательского интерфейса ранних операционных систем Macintosh.
Формат PCT уникален тем, что он может хранить как векторную, так и растровую информацию. Векторная графика состоит из путей, определяемых математическими уравнениями, что делает ее масштабируемой без потери качества. Растровая графика, с другой стороны, состоит из пикселей, что может привести к потере детализации при масштабировании. Объединяя эти два типа данных, файлы PCT могут эффективно хранить сложные изображения, такие как иллюстрации с текстом, линейным рисунком и фотографическими элементами, сохраняя при этом возможность масштабирования определенных частей изображения без ухудшения качества.
Файлы PCT структурированы таким образом, что они начинаются с заголовка размером 512 байт, который обычно заполняется нулями и не используется самим форматом PICT. За ним следует заголовок файла PICT, который включает важную информацию, такую как номер версии и размер изображения. За заголовком следуют данные изображения, которые состоят из опкодов (кодов операций), определяющих, как должно быть отрисовано изображение. Эти опкоды могут определять линии, фигуры, цвета и другие графические элементы, а также растровые данные для растровых изображений.
Существует две основные версии формата PCT: PICT1 и PICT2. PICT1 — это оригинальная версия, которая поддерживает базовые команды рисования и ограниченное количество цветов. PICT2, представленный вместе с Macintosh II, добавил поддержку более сложных возможностей обработки изображений, таких как 24-битный цвет, градиенты и сжатие JPEG. PICT2 также ввел концепцию «областей», которая позволяла выполнять более сложные операции обрезки, при которых отрисовывались только определенные части изображения на основе определенной области.
Одной из ключевых особенностей формата PCT является его способность сжимать данные изображения. Файлы PCT используют RLE (кодирование длин серий), простую форму сжатия данных, при которой последовательности одного и того же значения данных хранятся как одно значение и счетчик, а не как исходная серия. Это особенно эффективно для изображений с большими областями однородного цвета. PICT2 расширил эту возможность, поддерживая сжатие JPEG, которое более эффективно для сжатия фотографических изображений.
Формат PCT также включает ряд других функций, которые были передовыми для своего времени. Он поддерживает несколько разрешений, что означает, что изображение может быть отрисовано с разным уровнем детализации в зависимости от возможностей выводного устройства. Это особенно полезно, когда одно и то же изображение должно отображаться как на экране, так и на принтере, которые обычно имеют очень разные требования к разрешению. Кроме того, файлы PCT могут содержать предварительное изображение, которое представляет собой небольшое растровое представление векторных данных. Это позволяет приложениям быстро отображать миниатюру изображения без необходимости отрисовывать всю векторную графику.
Несмотря на свои возможности, формат PCT имеет несколько ограничений. Одним из самых существенных является отсутствие поддержки прозрачности. В отличие от таких форматов, как GIF и PNG, PCT не позволяет создавать изображения с прозрачным фоном или полупрозрачными элементами. Это ограничение может быть проблематичным при наложении изображений или когда изображение необходимо разместить на фоне с разными цветами или узорами.
Еще одним ограничением формата PCT является его зависимость от платформы. PCT был разработан для операционной системы Macintosh и QuickDraw, что означает, что он изначально не поддерживается на других платформах. Хотя существуют сторонние инструменты и библиотеки, которые могут читать и записывать файлы PCT в Windows и других операционных системах, формат так и не получил широкого распространения за пределами сообщества Macintosh. Это привело к проблемам совместимости, особенно с учетом того, что использование программного обеспечения для Macintosh со временем сократилось.
Формат PCT также вызывает опасения по поводу безопасности. В прошлом были обнаружены уязвимости в том, как некоторые приложения обрабатывают файлы PCT, что потенциально может привести к выполнению вредоносного кода. Это распространенная проблема для многих форматов файлов, где сложность и обратная совместимость могут привести к упущениям в безопасности. В результате некоторые современные приложения отказались от поддержки формата PCT или обрабатывают его в более безопасной изолированной среде.
Что касается расширения файла, файлы PCT обычно сохраняются с расширением «.pct» или «.pict». Однако из-за нечувствительности файловой системы Macintosh к регистру эти расширения взаимозаменяемы. При передаче файлов PCT в системы с файловыми системами, чувствительными к регистру, такими как Linux, необходимо следить за тем, чтобы для обеспечения совместимости использовалось правильное расширение файла.
Формат PCT в значительной степени был вытеснен более современными форматами изображений, такими как PNG, JPEG и SVG. Эти форматы обеспечивают лучшее сжатие, более широкую поддержку платформ и дополнительные функции, такие как прозрачность и анимация. Тем не менее, файлы PCT по-прежнему используются в некоторых устаревших системах и приложениях, особенно в тех, которые были разработаны для старых операционных систем Macintosh. По этой причине понимание формата PCT может быть важным при работе с архивными графическими материалами или при взаимодействии со старым программным обеспечением Macintosh.
Для разработчиков и пользователей, работающих с файлами PCT, существует ряд инструментов для просмотра, преобразования и редактирования этих изображений. GraphicConverter — это популярное приложение для Macintosh, которое может обрабатывать файлы PCT среди многих других форматов. Adobe Photoshop также имеет возможность открывать и преобразовывать файлы PCT, хотя в более новых версиях поддержка может быть прекращена из-за снижения актуальности формата. Существует также несколько онлайн-инструментов, которые позволяют пользователям конвертировать файлы PCT в более распространенные форматы, такие как JPEG или PNG.
В области программирования такие библиотеки, как ImageMagick и Python Imaging Library (PIL), можно использовать для программного манипулирования файлами PCT. Эти библиотеки предоставляют функции для чтения, записи и преобразования файлов PCT, а также для выполнения задач обработки изобра жений. Однако разработчики должны знать, что поддержка файлов PCT в этих библиотеках может быть ограничена по сравнению с более современными форматами, и для правильной обработки файлов PCT могут потребоваться дополнительные усилия.
В заключение, формат изображений PCT сыграл значительную роль на заре компьютерной техники Macintosh, обеспечивая гибкий и мощный способ хранения и обработки графики. Хотя он в значительной степени был заменен более новыми форматами, его наследие продолжается в виде устаревшего контента и приложений, которые по-прежнему полагаются на этот некогда повсеместный формат. Понимание технических аспектов PCT, от его структуры и возможностей до его ограничений и проблем безопасности, имеет важное значение для специалистов, которые могут столкнуться с этим форматом в архивной работе или при взаимодействии со старыми системами Macintosh.
Этот конвертер полностью работает в вашем браузере. Когда вы выбираете файл, он загружается в память и преобразуется в выбранный формат. Затем вы можете скачать преобразованный файл.
Преобразования начинаются мгновенно, и большинство файлов преобразуются з а считанные секунды. Более крупные файлы могут занимать больше времени.
Ваши файлы никогда не загружаются на наши серверы. Они преобразуются в вашем браузере, а затем скачиваются. Мы никогда не видим ваши файлы.
Мы поддерживаем преобразование между всеми форматами изображений, включая JPEG, PNG, GIF, WebP, SVG, BMP, TIFF и другие.
Этот конвертер полностью бесплатен и всегда будет бесплатным. Поскольку он работает в вашем браузere, нам не нужно платить за серверы, поэтому мы не взимаем плату с вас.
Да! Вы можете преобразовать сколько угодно файлов одновременно. Просто выберите несколько файлов при их добавлении.