Invoice Scanner

The problem

I made this invoice scanner at a three-day hackathon organised by Unifynd Technologies in March 2020. We were a four-member team. The problem statement was as follows

Given images of bills/invoices, the task was to perform the following three operations:

  • Edge detection, cropping, flattening, enhancement of cropped image and compression.
  • Extracting text from the processed image.
  • The confidence score for the image to text conversion.

Here's a demo video uploaded to YouTube
Thumbnail showing a screenshot of the "Invoice Scanner"



I chose to use React Native for this project because I could quickly create a cross-platform app for Android and iOS. We used OpenCV to clean the image and then perform edge detection. We also used Firebase ML kit for OCR from the cleaned image. To get it complete faster, we first wrote the OpenCV code in Python which I later converted to Java to be used in Android


My Role

I worked on the core functionality of the React Native app. I made a simplistic UI while my teammates were working on edge detection and cleaning in Python OpenCV. I then converted all the OpenCV code from Python to Java and implementing cross platform support on Android and iOS


We won! The project is open source. You can take a look here - Github