Skip to main content

Jump start into Character Recognition - Part 1

Motivation
The dawn of computers and their integration into a huge network called the internet has accelerated the sharing of knowledge like never before. However, there exists a divide between the forms of expression familiar to us and the forms in which the information can be fed in at a computer terminal. For example, when writing about scientific material we make extensive use of diagrams to convey the ideas, but, feeding a graphic into the computer, requires special effort and doesn't come naturally.

These and other aspects have always been a matter of concern for me, being someone fond of publishing on the web whatever I know :)

Any how, the aim of this article and other in this series is not to demonstrate my solution to the above problem ... instead to attract young and curious minds to the problem so that they may contribute to it solution.

Start

The plan is to build, step by step, a very simple, character recognition program which would take a simple text file containing the pattern as input (see figure 1) and would identify what the character is ! (see figure 2)

We have chosen the less useful form of input from a text file as opposed to from a scanned image, simply to make the start more comfortable for a beginner (myself included !). Hence, we are able to concentrate on the simple-to-understand ideas of pattern recognition, instead of breaking our head trying to make the image processing work. Of course, we will take up that part too in the near future.

We shall use the C language for our programming. It is a very powerful and general purpose language that anyone would benefit from. However, if you feel you are not familiar with it, don't worry, we shall study the language as we go along.

Regarding the operating system, as long as you have access to a C compiler (i.e. if you can run a C program written by yourself) things are perfectly fine.
On the Ubuntu Linux machine I am using, the C compiler, called gcc,  comes built it. If you are using Windows and doesn't have a compiler yet, try this free software - http://www.bloodshed.net/dev/devcpp.html .

Courtesy
Ideas for the majority of the material in this series are drawn from Eric W. Brown's, http://www.ccs.neu.edu/home/feneric/charrec.html. Thank you Eric for making it freely available.

Figure 1
: A typical text file, used as input to the program, as viewed in a text editor.



Figure 1: The output of the RecogniseCharacter program (that we are going to develop), on the terminal (alternatively called the console, command prompt, etc)



I hope to continue with Part 2 next week.

Comments

Popular posts from this blog

Competitive Programming

Programming a Sport ? I didn't know that until today !! I was amazed to look around and find that so many initiatives abound on the internet that aim at popularizing programming. I got started at codechef.com , then watched an amazing inspirational video http://www.codechef.com/school The getting started page launched me into a web of great resources - http://www.codechef.com/getting-started Check every link ! I met two great heros of the sport in that great journey - 'tourist' and 'petr' The latter is elder to me while the former is just 19 now. petr works for Google but is still a great force in the sport. The ACM ICPC is like the olympics of programming where teams participate. Codechef's envision's the Indian team winning some day and the Go-for-Gold section is particularly geared towards that. Codechef also has a school section. Mathewkuttan, Maxwell - what do you think ?