OCR-ридер в reactjs

Я новичок в ReactJS, и у меня есть задача. Мне нужно создать приложение, способное сканировать mykad (малайзийское удостоверение личности) через камеру. Такие детали, как имя, адрес, изображение могут быть извлечены. Я немного погуглил о tesseract с открытым исходным кодом, но он не дает мне правильной информации, а также некоторые сведения написаны с ошибками. Если кто-то может направить меня в правильном направлении.

Со временем я разработаю PWA и разверну его на мобильных устройствах.


person user1295308    schedule 22.04.2020    source источник
comment
Раньше я делал это в своем проекте FYP, а также использовал tesseract в качестве функции OCR. На самом деле я преобразовал изображение в черно-белое, и, кажется, это помогло мне более точно извлечь информацию.   -  person TommyLeong    schedule 22.04.2020
comment
можете ли вы помочь мне с некоторыми ссылками .. я пробовал это github.com/stacksapien/react-tesseract- ocr npmjs.com/package/react-tesseract-ocr   -  person user1295308    schedule 22.04.2020
comment
Определенно плохая идея использовать библиотеку, опубликованную 2 года назад, для производственного веб-сайта (я предполагаю, что вы планируете запустить ее). Ранее я разрабатывал на С#, и мне посчастливилось получить SDK для С#, для вашего случая, возможно, эта библиотека будет лучше. github.com/naptha/tesseract.js#tesseractjs   -  person TommyLeong    schedule 22.04.2020


Ответы (1)


Если вы ищете бесплатное решение, вам подойдет Tesseract.js: https://tesseract.projectnaptha.com

Вы должны знать, что для чтения данных из MyKads потребуется не только компонент OCR, но и указание семантики для документа. Это означает, что вам нужно будет сообщить tesseract, где находится имя, где находится адрес и т. д.

Также tesseract не сможет обнаружить документ на изображении. Для этого вам понадобится другой инструмент.

Отказ от ответственности: я работаю в Microblink, где мы разрабатываем коммерческие продукты OCR, в том числе для считывания данных с идентификаторов. Для PWA у нас есть компонент JavaScript/TypeScript, который использует WASM для обработки идентификаторов. Он поддерживает не только MyKads, но и более 500 типов документов в мире.

Ссылка на Github: https://github.com/BlinkID/blinkid-in-browser

person Cerovec    schedule 22.04.2020
comment
спасибо за это .. действительно полезно .. но когда вы упоминаете, что нам нужно сообщить tesseract, где находится имя и где находится адрес … как мы делаем это программно .. я использую github.com/stacksapien/react-tesseract-ocr с небольшой модификацией добавления размера прямоугольника для выполнения распознавания для этой части. . - person user1295308; 22.04.2020
comment
Это хороший подход. Только обязательно учитывайте все варианты документов, удостоверяющих личность, у людей длинные имена, а адреса на MyKads особенно сложно получить с помощью прямоугольников. Удачи! - person Cerovec; 22.04.2020
comment
можете ли вы сказать мне, как мы сообщаем tesseract, где имя и где адрес программно, как вы упомянули - person user1295308; 22.04.2020
comment
не могли бы вы сообщить мне цены на BlinkID... на веб-сайте я не мог найти его должным образом - person user1295308; 22.04.2020
comment
Для настройки полей программно. В качестве первого шага вам необходимо определить расположение документа на изображении. Затем, основываясь на относительном расположении имени, адреса, номера и т. д., вы определяете, где находятся эти области на изображении. Затем вам нужно обрезать и устранить искажения (поместить в перспективу) эти поля. Тогда вы готовы использовать tesseract. Кроме этого, я не знаю, позволяет ли tesseract автоматизировать некоторые из этих вещей. Чтобы узнать цены, вы можете связаться с нашей командой по адресу microblink.com/contact-us. - person Cerovec; 23.04.2020
comment
Привет @DarkKnight. Спасибо за вопросы. Я думаю, что это выходит за рамки этого конкретного вопроса SO. Пожалуйста, откройте новый или, что еще лучше, свяжитесь с нами напрямую по адресу [email protected]. - person Cerovec; 10.05.2020
comment
@Cerovec Пожалуйста, проверьте этот stackoverflow.com/questions/61744858/ - person Dark Knight; 12.05.2020
comment
Привет @DarkKnight, команда только что обновила ответ. - person Cerovec; 15.05.2020