Оптическое распознавание символов или оптическое считывание символов (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.
- Используйте «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.