Как выбрать между Tesseract и OpenCV?
Я недавно наткнулся на Тессеракт и OpenCV. Похоже, что Tesseract-это полноценный движок OCR, а OpenCV можно использовать в качестве фреймворка для создания приложения/службы OCR.
Я попытался использовать Tesseract на некоторых из моих изображений, и его точность кажется приличной. Позже, я наткнулась на очень простой учебник по с использованием OpenCV для выполнения оптического распознавания символов с использованием Python и был впечатлен. Через несколько минут я закончил тренировать систему, и ее точность была хорошей. Но, конечно, такой подход означает, что мне нужно интенсивно тренировать свою систему, используя большой набор тренировок.
мои конкретные вопросы следующие:
- Как выбрать между Tesseract и использованием OpenCV для создания пользовательского приложения OCR?
- существуют обучающие наборы данных, доступные для Tesseract для разных языков. Есть ли у OpenCV что-то подобное, так что мне не нужно начинать с нуля, чтобы достичь OCR?
- какой из лучше для коммерческого применения хотите быть?
какие предложения?
Примечание: мне 24 часа в области компьютерного зрения, но я готов приложить время и усилия, чтобы изучить предварительные условия.
4 ответов:
Tesseract-это OCR-движок. Он используется, работает и финансируется Google специально для чтения текста из изображений, выполнения базовой сегментации документа и работы с конкретными входами изображений (одно слово, строка, абзац, страница, ограниченные словари и т. д.).
в формате OpenCV, с другой стороны, это библиотека компьютерного зрения, которая включает в себя функции, которые позволяют выполнять некоторые функции извлечения и классификации данных. Вы можете создать простой сегмент письма и классификатор, который выполняет базовое распознавание, но это не очень хороший движок распознавания (я сделал его в Python раньше с нуля. Это действительно неточно для ввода, который отклоняется от ваших данных обучения).
Если вы хотите получить общее представление о том, как трудно OCR, попробуйте OpenCV. Тессеракт для реальные OCR.
Я автор этого учебника по распознаванию цифр, который вы упомянули, и Я бы сказал, что это никоим образом не заменяет Тессеракт.
Тессеракт это действительно хороший двигатель ОРЗ, может быть лучшим с открытым исходным кодом движок распознавания.
учебник, который вы упомянули, - это просто попытка понять самую простую работу OCR.
Итак, если вы ищете приложение OCR, я бы рекомендовал вам использовать OpenCV для предварительной обработки изображения, а затем применить tesseract двигатель.
эти два могут быть взаимодополняющими. Если Вы читаете статью на OpenCV http://tesseract-ocr.googlecode.com/svn/trunk/doc/tesseracticdar2007.pdf
Он подчеркивает, что " поскольку HP самостоятельно разработала технологию анализа макета страницы, которая использовалась в продуктах, (и поэтому не была выпущена для открытого исходного кода) Tesseract никогда не нуждалась в собственном анализе макета страницы. Поэтому Тессеракт предполагает, что входной сигнал имеет двоичный образ с дополнительным многоугольной области текста определенный."
этот тип задачи может быть выполнен OpenCV и полученное изображение передается Tesseract. Вы можете найти пример этого типа кода в репозитории Git:https://github.com/Itseez/opencv_contrib/tree/master/modules/text/samples В примерах используются API Tesseract для преобразования изображения в текст.
OpenCV-это библиотека для CV, используемые для анализа и обработки изображений в целом. Тессеракт-это библиотека для OCR, который является специализированным подмножеством CV, предназначенным для извлечения текста из изображений.
От OpenCV.org
.....используется для обнаружения и распознавания лиц, идентификации объектов, классификации действий человека в видео, отслеживания движений камеры, отслеживания движущихся объектов, извлечения 3D-моделей объектов, создания 3D-точки облака из стереокамер, сшить изображения вместе, чтобы получить изображение с высоким разрешением всей сцены, найти похожие изображения из базы данных изображений, удалить красные глаза из изображений, сделанных с помощью вспышки, следить за движениями глаз, распознавать пейзажи и устанавливать маркеры для наложения его с дополненной реальностью и т. д
.....может использоваться непосредственно, или (для программистов) с помощью API для извлечения типизированных, рукописных или печатных текст из изображений. Он поддерживает широкий спектр языков.
Comments