header works!

Project

Ocr

PROJECT STACK
c#
c++
matlab
opencv

This is a full complex system I built from scratch for automatic reading of insurance documents as a part of my final thesis in the University of Milano Bicocca. The project was about designing a system for automatic reading of documents taking advantage of techniques of image processing, computer vision and artificial intelligence.

The idea was to build a tool for digitalizing a large amount of paper document in the insurance domain. A lot of effort has been put in creating a functioning prototype which was a Desktop software with a full intuitive GUI.

The core of the project is a pipeline of algorithm which uses advanced techniques of image processing like noise removal, dynamic threasholding, hough line detection, skew correction, particle swarm optimization, ocr. For this parts to be built a lot of academic work has been done researching the state of art of image processing from article, books and academic magazines.

The software has 2 parts: one part is to add document templates to be recognized, where the user can specifcy the area of the different fields, the second part is an automatic process capable of recognizing all the images given as input. So the system is capable of learning new types of documents and automatic recognizing the type of input. With this all the information can be extracted and read with an OCR technique.

The tools I have used for this bis project were Matlab for the prototyping phase, and a mix of C# and C++ for the final implementation. I also integrated the OpenCV library inside my software to get full advantage of the most powerful algorithm in computer vision.

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6
Screenshot 7
Screenshot 8
Screenshot 9
Launch Date
Jul 2012
Country
Italy
Stack
  • c#
  • c++
  • matlab
  • opencv
Key features
  • Full desktop software
  • Noise removal
  • Hough line detection
  • Dynamic thresholding
  • Wiener filter
  • Particle swarm optimization
Key learnings
  • Apply university knowledge to real problem in the industry
  • Advanced image processing
  • Build a desktop software all from scratch