Распознавание текста + OMR

Я работаю над приложением среднего размера с рядом функций. Я уже сделал большую часть частей. Я просто оставил часть Text Recognition + OMR для системы посещаемости. Может ли кто-нибудь дать мне какое-то направление (документация или учебник, которым я могу следовать) по технологии Android Text Recognition + OMR (работающей вместе) и шагам по реализации моей функции? Я буду вам бесконечно благодарен за эту помощь.

У меня есть ряд функций, не связанных с этой, поэтому я не хотел их публиковать. Что мне нужно сделать, так это после того, как я сфотографировал лист посещаемости (с маркером, номером списка и пузырем), мое приложение должно сопоставить номер ролика с базой данных Firebase. Затем, если пузырь заполнен, он должен вставить значение «Настоящее» (Firebase), а если пузырь не заполнен, он вставит «Отсутствует» в поле посещаемости конкретного номера ролика в базе данных.

Распознавание текста + OMR

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
1 122
2

Ответы 2

¿Всегда ли изображение имеет одинаковые размеры и ответы тоже находятся в одном и том же положении?

Если ответ положительный, вы можете обрезать каждый ответ, а затем разделить столбцы «Нет списка» и «Посещаемость» на двух отдельных изображениях.

Вы можете использовать OpenCV, чтобы сделать это: Как обрезать изображение в OpenCV с помощью Python

Затем вы можете использовать OCR с номером рулона. изображение (например, Тессеракт) и с помощью круга вы можете увидеть, является ли центральный пиксель круга черным или белым.

Спасибо за ваш ответ. Я должен использовать java, чтобы реализовать это (если вы предоставите некоторую ссылку на java). поскольку будет очень много пользователей. Я думаю, что я поставлю рамку в действие камеры, чтобы пользователь мог выровнять бумагу внутри коробки. Будет ли это означать "то же измерение", как вы спрашиваете ..?

user8554744 09.08.2018 21:47

Если ответы всегда начинаются с одной и той же позиции (x, y), занимают один и тот же размер и т. д. Если вы можете предположить это, вы можете обрезать ответы, потому что вы знаете, где они находятся. OpenCV имеет дистрибутив java. У них есть отличный учебник о том, как установить и использовать это в eclipse: docs.opencv.org/2.4/doc/tutorials/introduction/java_eclipse/‌… Tesseract тоже находится в java. Он называется Tess4j. Вы можете скачать в sourceforce: tess4j.sourceforge.net

Mar Millán 09.08.2018 21:57

еще раз спасибо. я попробую это. хотя я создаю свое приложение в студии Android ..

user8554744 09.08.2018 22:15

Вы также можете использовать OpenCV и Tessereact в Android: Tesseract для Android: github.com/rebbix/tesseract-android-tools/tree/master/… OpenCV для Android: opencv.org/platforms/android

Mar Millán 09.08.2018 22:58

Поскольку вы не упомянули, что OCR должно выполняться внутри кода приложения, вы можете использовать AWS Rekognition со своим приложением Android. Вот несколько ссылок, с которых можно начать:

  1. AWS Mobile Hub
  2. AWS Lambda
  3. AWS Rekognition

Ваш рабочий процесс будет таким:

  1. Сделайте снимок из приложения.
  2. Загрузите его на S3.
  3. При загрузке в S3 запускается функция AWS Lambda.
  4. Вы реализуете свою логику OCR в лямбда-функции в Java.
  5. Вы можете использовать DynamoDB для сохранения результатов или чего-нибудь еще.
  6. Отправьте уведомление на устройство с результатами.

спасибо .. но поскольку у моего пользователя нет доступа в Интернет, я хочу, чтобы все выполнялось локально. если я не могу этого сделать, я последую вашему совету. Я очень благодарен за ваш ответ с поучительным объяснением.

user8554744 09.08.2018 22:09

Другие вопросы по теме