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

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

Tesseract.js — это javascript-порт известного движка Tesseract OCR и механизм оптического распознавания символов для различных операционных систем. Это бесплатное программное обеспечение, выпущенное под лицензией Apache License, разработка которого спонсируется Google с 2006 года. [источник]

Как использовать Tessearct.js в Mendix

Предпосылки:

Общие ресурсы сообщества - https://marketplace.mendix.com/link/component/205247

Реализация:

В этом блоге я покажу вам, как использовать Tesseract.js для добавления OCR в ваше приложение Mendix.

  1. Используйте «SUB_GetBase64Image», чтобы преобразовать изображение в base64, где используется действие Java base64, и передайте его действию «JS_ImageOCR javascript»:

2) Выберите «Загрузить язык» и «Инициализировать язык»:

3)Результат —Выбрать текст с изображения в виде строки:

Объяснение кода

1) Импортируйте tesseract.js и буфер:

2) Инициализировать и запустить Tesseract:

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

· Функции FS // опционально

· язык загрузки

· инициализировать

· установить параметры // опционально

· узнавать или обнаруживать

· прекратить

Каждая функция является асинхронной, поэтому требуется использование async/await или Promise. Когда он разрешен, вы получаете объект TesseractJob.

а) Worker.loadLanguage(языки):

Worker.loadLanguage() загружает обученные данные из кэша или удаленно загружает обученные данные и помещает обученные данные в файловую систему WebAssembly.

Аргументы:

langs — это строка, указывающая, какие языки подготовлены для загрузки данных, несколько языков объединяются с помощью +, например: eng+chi_tra

b) Worker.initialize(языки):

Worker.initialize() инициализирует API Tesseract и проверяет его готовность к выполнению задач OCR.

Аргументы:

langs — это строка, указывающая языки, загружаемые Tesseract API, она может быть подмножеством обученных языку данных, загруженных из Worker.loadLanguage.

c) Worker.recognize(изображение):

Worker.recognize() обеспечивает основную функцию Tesseract.js, выполняя OCR. Выясняет, какие слова на картинке, где слова на картинке и т. д.

Примечание. Изображения должны быть достаточно высокого разрешения. Часто одно и то же изображение будет иметь гораздо лучшие результаты, если вы увеличите его масштаб перед вызовом функции распознавания.

Аргументы:

Изображение — подробнее см. Формат изображения.

Примеры:

https://github.com/naptha/tesseract.js/blob/master/docs/examples.md

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

Это поддерживаемые типы изображений от Tesseract, которые их движок может читать:

1. JPG

2. PNG

3. ПНМ

4. ТИФФ

Возможности:

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

• Высокая точность при использовании обычных шрифтов и четкого фона.

Ограничения:

• Точность будет низкой при шумном фоне и шрифтах с пользовательским сценарием.

• Tesseract сам по себе не поддерживает все форматы файлов.

• Качество изображения должно достигать определенного порога точек на дюйм (DPI), чтобы оно работало.

Вывод:

Повеселившись с Tesseract OCR, я могу сказать, что движок потрясающий!

Он привносит возможности OCR в браузер и открывает двери новых возможностей для разработчиков. Вот список самых интересных на мой взгляд моментов на Tesseract:

1. Это с открытым исходным кодом.

2. Очень прост в использовании.

3. Хорошие результаты экстракции.

4. Поддерживает несколько языков.

Если вы столкнулись с некоторыми проблемами и думаете, что OCR — это ваше решение, Tesseract будет отличным решением! Я надеюсь, что эта статья будет полезна для вас — спасибо!!

Читать далее







От издателя –

Если вам понравилась эта статья, вы можете найти больше похожих на нашей Medium странице. Для просмотра отличных видео и прямых трансляций вы можете посетить MxLive или наше сообщество Страница YouTubee.

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

Заинтересованы в более активном участии в нашем сообществе? Присоединяйтесь к нам в нашем Канале сообщества Slack.