CS 7495 -- Computer Vision
Project III -- Vowel recognition

Source code:  vowel.m, remLet.m, findLet.m
If you would like to get my templates, please e-mail me at shleyf@cc.gatech.edu

For this project I used morphological operators on the images, with masks carefully chosen by hand, to fit the vowels.  I also took time to get rid of the consonants that were confused with vowels.  To get rid of the "long tail" letters like d's, l's, f's, b's, y's, etc. I searched for the long stick "l" and got rid of its every occurrence.  This trick tremendously simplified vowel processing.  I also removed some characteristics of the inclined letters, to remove false hits in the third test.

The image was originally cleaned up using morphological operators.  I then doubled the thickness of each letter using dilation operator on image with [1 1] matrix.  Some letters required more than one mask to get recognized.
 

Original image with highlighted vowels
Vowels selected from the text
1) For the first test image I received a 100% accuracy
2) Test number two: 129/130 = 99.23% accuracy, one miss and no false hits.
3) Curved test: 21/29 = 72.41%  accuracy with one false hit
 4) In class test: 25/31 = 80.65% accuracy with no false hits

 
 
 


As you can see, my program doesn't work well on the rotated letters, because i did not use any moments for this program. I used special masks to catch some of the rotation with little tilt, but it is impossible to come up with every single mask for different degrees of rotation.