Распознавание надстрочных символов с помощью OCR - PullRequest
3 голосов
/ 02 марта 2012

Я запустил простой проект, в котором он должен получить изображение, содержащее текст с верхними индексами, а затем с помощью OCR (в настоящее время я использую тессеракт) он должен распознавать символы верхних индексов + нормальные символы.

Чтобы было проще представить, например, у нас есть химическое уравнение, такое как Cl2 (2 - верхний индекс), но когда я использую ocr для его распознавания, оно дает мне Cl2 (все в одной строке).

Итак, каково решение этой проблемы?Есть ли какой-нибудь другой OCR API, который может читать верхние индексы?

Спасибо.

1 Ответ

4 голосов
/ 15 марта 2012

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

Прежде всего, чтобы убедиться, что вы НЕ пропускаете функциональность, даже если она есть в системе OCR. Убедитесь, что вы смотрите на результаты теста не в простом формате TXT, а в какой-нибудь программе для просмотра текста. Программы просмотра TXT, такие как «Блокнот в Windows», часто не поддерживают символы верхнего и нижнего индексов, поэтому даже если бы OCR давал вам правильные символы, ваш зритель мог бы преобразовать его для отображения. Если вы обращаетесь к текстовому результату программно, это не проблема, потому что вы должны получить правильное значение индекса при доступе к нему напрямую. Просто отметьте, что зрители должны поддержать его, чтобы вы действительно увидели его. Если вы исключили это возможное преобразование после обработки и убедились, что из OCR не возвращен нижний индекс, вероятно, он его не поддерживает.

Как и в этом текстовом поле, в своем исходном вопросе вы пытались привести пример с надстрочными знаками, но это текстовое поле не принимало его, даже если вы можете скопировать / вставить его из другого места.

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

Я сделал небольшой тестовый пример, прежде чем ответить на это письмо. Я сгенерировал изображение с несколькими примерами надстрочных / нижних индексов для моего тестирования (конечно, EMC2 был первым примером, который пришел в голову :).
Вы можете найти мое тестовое изображение здесь: www.ocr-it.com / документы / superscript_subscript_test_page.tif

И обработал это изображение с помощью OCR-IT OCR Cloud 2.0 API , используя все настройки по умолчанию, но экспортируя в формат расширенного текста, например MS Word .DOC.

Вы можете найти мое тестовое изображение здесь: www.ocr-it.com / документы / superscript_subscript_test_page_result.doc

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

РАСКРЫТИЕ ИНФОРМАЦИИ: Моя специальность - внедрение внутренних решений OCR для компаний разных размеров. Моя компания WiseTREND . Свяжитесь со мной напрямую, если я могу чем-то помочь.

...