«Интенсивное развитие web технологий накладывает глубокий отпечаток на сфере разработки программного обеспечения. Все больше появляется «облачных» сервисов и приложений. Традиционно родным языком для web, является JavaScript. В последние годы он развивается быстрыми темпами, расширяются область его применения, возможности и конечно же сообщество.» — писал бы я, если бы был занудой, но я же не такой. 🙂
Поток мыслей, который я уже битый час пытаюсь облачить хотя бы в сколько-нибудь адекватный текст все продолжает генерироваться моей неуёмной головой. Она как бы говорит: «Да задолбал ты, я хочу спать. На тебе это… Вот это… Вот ещё чуть-чуть…». Такое иногда бывает.
О чём это я?
Ах, да, Tesseractjs…
Лирика
Из названия статья должно быть ясно, что сейчас речь пойдёт о библиотеке, которая предназначена для распознавания текста с картинки. Те, кого данная тема когда-либо интересовала, уже недоумевают от возникших у них вопросов, ведь в своих проектах они уже давно используют Tesseract OCR engine. Именно этот «движок» и брался за основу при реализации Tesseractjs. На сайте даже написана следующая фраза: «Tesseract.js is a pure Javascript port of the popular Tesseract OCR engine.». Что в вольном автозаводском переводе звучит примерно так: «Взяли и чисто портонули движок на js.».
Tesseractjs с точки зрения применения с первого взгляда весьма сомнительна. Что мешает на стороне сервера использовать тот же Tesseract OCR engine и жить себе спокойно? Но тут не всё так просто. Если вы читали 2 первые строчки данного поста, то можете догадаться почему именно она вообще появилась. Ну, а для тех, кто немножечко дальше чем все остальные, поясню. JavaScript и технологии около web сейчас развиваются колоссальными темпами. Тот факт, что стали возможными такие проекты как Electron, cordova, Nodejs вообще сносит некоторым голову и они писают кипятком как школьницы при виде «бибера», или кто там у них сейчас кумир. Дошло то того, что Javascript стал использоваться как обычный язык программирования как для нужд сервера Nodejs так и для написания вполне независимого UI приложения. Вот именно в последнем случае нам так важен Tesseractjs, ведь он может работать непосредственно в браузере на стороне клиента, не отправляя при этом запросы на сервер, не требует дополнительных разрешений и манипуляций.
Суть
Давайте определимся с целями данной статьи. Труд несомненно имеет высокую художественную ценность, но всё же. В целом я хочу лишь приблизить вас к ответу на вопрос: «Нужно оно вам или нет?»
Примеры использования:
- Если ваш проект имеет серверную часть, объёмы распознавания достаточно большие, требуется минимальное участие пользователя, то однозначно вам это не нужно. «Каптчи и номера с avito — вот, пожалуйста вам Tesseract OCR engine.»
- Если вы пишите небольшое пользовательское приложение на javascript, где было бы неплохо сканировать телефоны с визиток, то Tesseractjs — это ваш вариант.
Достоинства:
- Большое количество поддерживаемых языков.
- Возможность использования как на сервере так и на клиенте.
- В целом оформление проекта. «Простота, документация и т.д.»
Недостатки:
- Производительность на клиенте.
- Поддержка кода. Давненько не было обновлений. Не паникуй, пока меньше года
Да, я тут набросал в webTools вариант по примеру, что в репозитории.
Всего вам доброго.
P/S Надеюсь, что хоть чуть-чуть помог вам.