0

I am working on a medium scale app with a number of functions. I did most of the parts already. I just left the part of Text Recognition + OMR for attendance system. Can anyone give me some direction (documentation or tutorial i can follow) on android Text Recognition + OMR technology (working together) and the steps to implement my function? I will be eternally grateful to you for this help.

I have the number of functions which is unrelated to this one so I did not want to post those. The thing I need to do is, after taking the picture of the attendance sheet (with a marker, roll number, and bubble), my app needs to match the Roll no with Firebase Database. Then if the bubble is filled it should insert “Present” value (Firebase) and if the bubble is not filled it will insert “Absent” to the particular roll number's Attendance field in the database.

enter image description here

Community
  • 1
  • 1

2 Answers2

0

¿Do the image have always the same dimension and the answers are in the same position too?

If the answer is yes, you can crop each answer and then, split Roll no and Attendance columns in two separate images.

You can use OpenCV to make this: How to crop an image in OpenCV using Python

Then, you can use a OCR with the Roll no. image (Like Tesseract) and with the circle you can see if the center pixel of the circle is black or white.

Mar Millán
  • 188
  • 7
  • 2
    Thank you for your answer. I have to use java to do implement this (if you please provide some java reference). since there will be so many users. i think i will put a box in the camera activity so that user can align the paper within the box. Will that imply "same dimension" as you ask.. ? –  Aug 09 '18 at 19:47
  • 2
    If the answers always begin in the same (x,y) position, occupy the same size, etc. If you can assume that, you can crop the answers because you know where they are. OpenCV have a java distribution. They have a great tutorial of how to install and use this in eclipse: https://docs.opencv.org/2.4/doc/tutorials/introduction/java_eclipse/java_eclipse.html Tesseract are in java too. It is called Tess4j. You can download in sourceforce: http://tess4j.sourceforge.net/ – Mar Millán Aug 09 '18 at 19:57
  • thank you again. i will try that. though i am building my app in android studio.. –  Aug 09 '18 at 20:15
  • 2
    You can use OpenCV and Tessereact in Android too: Tesseract for Android: https://github.com/rebbix/tesseract-android-tools/tree/master/tesseract-android-tools OpenCV for Android: https://opencv.org/platforms/android/ – Mar Millán Aug 09 '18 at 20:58
0

Since you did not mention that OCR must be done inside the app code, you can use AWS Rekognition with your Android app. Here are some of the links to get you started:

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

Your workflow would be like:

  1. Take picture from app.
  2. Upload it to S3.
  3. Uploading to S3 will trigger AWS Lambda Function.
  4. You will implement your OCR logic in the Lambda Function in Java.
  5. You can use DynamoDB to persist your results or anything else.
  6. Send a notification to the device with the results.
Syed Ali
  • 1,817
  • 2
  • 23
  • 44
  • 1
    thank you.. but since user my not have internet access, i want everything to do locally. if i am unable to do so i will follow your advice. i am very grateful for your response with instructive explanation. –  Aug 09 '18 at 20:09