Skip to main content

Document Image Analysis


Document Image Analysis is our first exercise in Advance Image Processing. In this exercise, I will use OpenCV and Python.

The shaded area in the form below should be classified.


All the forms were pre-processed with given center of the circles. The circles should be classified in three different categories: shaded, not shaded, and crossed-out

First, the given center of the circles should be plotted from csv to the python code.  
At first, I had a hard time dealing with the syntax of python so I spent quite a few hours studying and trying out sample codes so that I can use the basic operations and functions for this exercise. I used a normal file upload then I loop the file line by line. Finally, I boxed all the circles in green lines using OpenCV's rectangle function.

After the initial boxing, the mean intensity of the boxed circles was gathered. Lower intensity means darker. The darker circles are detected blue (I assumed that the student crossed-out the circle so it is darker than the filled circle). A threshold between the black and the unshaded circle are colored by red. 

This is a sample resulting image.

I found minor errors such as filled circles with minimum intensity and those misaligned images. However, I believe that my exercise has a higher accuracy of attaining the correct answer.
  

Comments

Popular posts from this blog

Document Layout Analysis

Document Layout Analysis is our second exercise. Using the three images above our program needs to do the following: Individual characters are boxed Individual words are boxed Lines are boxed Paragraphs are boxed The paragraphs with margins I used a bottom-up approach for this exercise. It means that I started detecting and boxing the letters to words to line to paragraph and lastly to the paragraph with margin. I created a function for each of the objectives. I used a trial and error approach for determining the appropriate kernel size for the specific function. I have a very simple step for every objectives: Load the images. Assigning of output images Convert images to grayscale Cleaning the images using Otsu's Thresholding method. (with the inversed binarized image) Assigning kernel size (1 or 2 kernels depending in the objective) Morphological Operations (Dilation, Erosion, Closing and Opening) Find the Contours Box the contours (I added some offs

Installation of Windows Subsystem for Linux

Disclaimer: This is the first release of Bash in Windows. It is in "Beta" version meaning it is not complete. Some things will work and some things will not. Prerequisites: Your PC must be running a 64-bit version of Windows 10 Anniversary Update build 14393 or later. To find your PC's CPU architecture and Windows version/build number, open Settings>System>About . Look for the OS Build and System Type fields. If your build is below 14393, try checking for updates Installation In order to run Bash on Windows, you will need to manually: Turn-on Developer Mode Enable the "Windows Subsystem for Linux (beta)" feature via the GUI or the command-line: Turn-on Developer Mode Open Settings -> Update and Security -> For developers Select the Developer Mode radio button This will take a while depending on the speed of you internet connection. Enable the Windows Subsystem for Linux feature (GUI) From Start, search

Upgrading your LAMP Stack to PHP 7 plus PHPMyAdmin Installation

First install python-software-properties package on your system which provides add-apt-repository command then use the following set of commands to add PPA for PHP 7 in your Ubuntu system and install it. sudo apt-get install python-software-properties sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php Then, remove PHP 5 and install PHP 7. sudo apt-get update sudo apt-get purge php5-common -y sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y sudo apt-get --purge autoremove -y You may also need to install modules like PHP7-MySQL, libapache2-mod-php7.0 etc based on your application requirements. Use the following command to find our available php 7 modules. sudo apt-cache search php7-* Above command will list all available PHP7 modules for installation, Let’s begin installation of modules. sudo apt-get install libapache2-mod-php7.0 php7.0-mysql php7.0-curl php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-gd *Installing  PHPMyAdmin Change directory to /usr/sha