CS 7321 Winter 1998
Character Recognition Problem
Index
How I solved it
-
First I did this:
-
First things first, the game is based on binary image morphological
operations. So, I change all the text images into binary format;
-
Reverse the BW picture, to make the characters in white for future use;
- Crop the corresponding vowels from the binary images given above, for each
vowel, "a, e, i, o, and u";
-
Thicken the text image;
-
Thin the structural element - SE;
-
Opening text image -- "erode and dilate original image using SE", to get the
vowel's position in the image;
-
Change the colormap setting, to show only colored vowels searched out in
the text images.
-
Then I did this:
-
By the way metioned above, we can recognize the single vowel in the
image;
-
Do the same routine, other 4 vowel could be searched out respectively;
-
Then, we using the addition function, find all the marks made in the
individual results by single vowel check;
-
This temporary result is all these 5 vowels recognized from the original
text image. These are marked in red.
-
Finally, I work on ex3
-
One script file "run.m" was prepared to make the vowel rotate at the
increments of 6 degree from -90 to 90 degrees;
-
At each position, the matching rountine is basically the same.
to TOP
Assumptions and Weaknesses
Assumptions:
-
The character I selected during cropping is a good sample. The croping
process is good (sometimes it is poor indeed)
-
The standard erode/dilate function is good for this open/close actions
Weakness:
-
Only one letter is pretty representative;
-
For the low accuracy of the SE, the erosion/dilation works with lots
of error marking.
Improvements and Possible Future Work
-
Using several letter for SE, and make the average as SE. This
will improve the effect of opening process;
-
Needs some programing...
-
etc.
Results
;
;
;
;
Five sample vowels selected cropped and inverse/binary process.
Figure 1: This one is the original
copy.
Figure 2: This one is the original image.
Figure 3: This one is the original image.
Source Code
-
step1.m: this is the script showing how
the problem solution was arrived at: pointing out the positions of the selected vowels.
This process includes: thick, thin, erode, dilate and colormap etc operations
-
step2.m: the function vowel.m used to assemble the
results from individual vowel searching process. The result at this stage is only the
five vowels shapes marked in red on the text images.
-
step3.m: this program makes the vowel map overlapped on
the original text images. Get the results of ex1 and ex2.
-
run.m:the function of making the vowel
rotate and searching for matched tracks.