Недавно я наткнулся на Tesseract и OpenCV . Похоже, что Tesseract - это полноценный движок OCR, а OpenCV можно использовать в качестве основы для создания приложения / сервиса OCR.
Я пробовал использовать Tesseract на некоторых своих изображениях, и его точность кажется приличной. Позже я наткнулся на очень простой учебник по использованию OpenCV для OCR с использованием Python и был впечатлен. Через несколько минут я закончил обучение системы, и ее точность была хорошей. Но, конечно, такой подход означает, что мне нужно тщательно обучить мою систему, используя большой обучающий набор.
Мои конкретные вопросы следующие:
- Как выбрать между Tesseract и OpenCV для создания собственного приложения OCR?
- Для Tesseract доступны наборы обучающих данных для разных языков. Есть ли в OpenCV что-то подобное, чтобы мне не нужно было начинать с нуля, чтобы достичь OCR?
- Какой вариант лучше для коммерческого приложения?
Какие-либо предложения?
OCR accuracy tests
и вы найдете несколько диаграмм. Что касается мобильных приложений, большинство из них используют тессеракт. Но если вы потрудитесь загрузить некоторые из них, вы увидите, что результаты немного отличаются от обещаний. Обычно они делают видео-демонстрацию в тщательно контролируемой среде и размещают ее на YouTube, но если вы просканируете страницу / рецепт / карточку / что угодно, вы получите забавные результаты.Ответы:
Tesseract - это движок OCR. Он используется, работает и финансируется Google специально для чтения текста с изображений, выполнения базовой сегментации документа и работы с конкретными входными данными (одно слово, строка, абзац, страница, ограниченные словари и т. Д.).
OpenCV, с другой стороны, представляет собой библиотеку компьютерного зрения, которая включает функции, позволяющие выполнять извлечение некоторых функций и классификацию данных. Вы можете создать простой сегментатор букв и классификатор, который выполняет базовое распознавание текста, но это не очень хороший механизм распознавания (я делал его раньше на Python с нуля. Это действительно неточно для ввода, который отличается от ваших данных обучения).
Если вы хотите получить общее представление о сложности распознавания текста, попробуйте OpenCV. Tesseract предназначен для реального распознавания текста.
источник
0
как8
(в общей сложности 20 долларов США). Я признаю, что эту цифру даже мне было трудно расшифровать, но я не был уверен, что еще можно сделать, чтобы адаптировать Tesseract к этим ситуациям или, возможно, ввести обучающий компонент, если у меня будет активная база пользователей.Я являюсь автором упомянутого вами учебника по распознаванию цифр, и я бы сказал, что это никоим образом не заменяет tesseract.
Tesseract - действительно хороший движок OCR, возможно, лучший движок OCR с открытым исходным кодом.
Упомянутый вами учебник - это всего лишь попытка понять наиболее простую работу OCR.
Итак, если вы ищете приложение OCR, я бы порекомендовал вам использовать OpenCV для предварительной обработки изображения, а затем применить механизм tesseract.
источник
Эти два могут дополнять друг друга. Если вы читали статью об OpenCV: https://github.com/tesseract-ocr/docs/blob/master/tesseracticdar2007.pdf
В нем подчеркивается, что «поскольку у HP была независимо разработанная технология анализа макета страницы, которая использовалась в продуктах (и, следовательно, не была выпущена для открытого исходного кода), Tesseract никогда не нуждался в собственном анализе макета страницы. Поэтому Tesseract предполагает, что его входные данные представляют собой двоичное изображение с определены дополнительные полигональные текстовые области ".
Этот тип задач может быть выполнен OpenCV, а полученное изображение передано в Tesseract. Вы можете найти образец кода этого типа в репозитории Git: https://github.com/Itseez/opencv_contrib/tree/master/modules/text/samples В примерах используются API Tesseract для преобразования изображения в текст.
источник
OpenCV - это библиотека для резюме , используемая для анализа и обработки изображений в целом. Tesseract - это библиотека для OCR , которая представляет собой специализированное подмножество резюме, предназначенное для извлечения текста из изображений.
Из OpenCV.org
Из Tesseract Github :
источник