Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I really am a starter with OCR, and would like to implement an OCR system. Any pointers on where I can find the introductory material, with the programming kept in mind, like what algorithms or data representation models do I need to master? I found Tesseract, on Google Code, an open-source project, but before I dive in to the code, I'd like to have the concepts under my belt.

thanks in advance,


share|improve this question

closed as too broad by gnat, MichaelT, GlenH7, Kilian Foth, BЈовић Jan 17 '14 at 11:13

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

What searches have you done already in Google/Bing? Have you checked Wikipedia? – ChrisF Aug 17 '11 at 12:54
All combinations of the sort, "OCR systems", "implementation details of an OCR system" etc.. What I intend to find is a general doc that will walk me through the basics, and then I can actually study the OSS code. I actually don't want to reinvent the wheel, but then I have to do something for my CS final project, so I thought, why not this! – yati sagade Aug 17 '11 at 13:28

2 Answers 2

up vote 3 down vote accepted

There are books about OCR that can tell you about current techniques. However, since OCR is rooted in computer vision and artificial intelligence, you might want to look to those fields for a starting point.

When you're trying to get a computer to recognize anything, it's usually helpful to do whatever you can to simplify the problem. When trying to recognize objects in an image, you might apply a filter to increase the contrast, another to remove as much noise as possible, and a third to detect edges. A good book on computer vision will explain all that and more. From there you might use the edge information to detect features and try to match those features to forms that you already know about. At the same time, you might use statistical information to reduce the set of likely candiates (e.g. if the last two letters you recognized were 't' and 'h', the next one is probably a vowel or 's'). These techniques come from AI.

If you're really interested in implementing an OCR system of your own, you're going to need to know something about AI and computer vision first.

share|improve this answer
Thanks!! That means it's a daunting task ahead! But I already am (partly) in love with Prolog, so it's going to be great! Thanks again!! – yati sagade Aug 17 '11 at 19:25

If you want to write your own OCR system, I don't have much to offer you, but if you want to use provide an OCR tool in your application, you may be interested in Google's OCR API. There even is a demo on one of Google's unofficial blogs:

share|improve this answer
That is interesting. But I'd rather want to know what's going on in that API. Thanks a ton.Anyway, Is this in any way related to reCaptcha? – yati sagade Aug 17 '11 at 19:32
@yati sagade didn't know about it but yes it seems so! See Excerpt: ""When a word in a book scan can’t be recognized by Google’s OCR software, it’s sent to the reCAPTCHA pool. So when a person enters a reCAPTCHA phrase into a form, Google can discover what its OCR program couldn’t, without having to hire human editors to review scanning results."" – Jalayn Aug 17 '11 at 19:40
that is the reason they're Google and can give us a ride to Mars for free!! ingenious, isn't it? – yati sagade Aug 17 '11 at 19:54
that captcha thing is indeed an ingenious idea. If we could first simply go to space for free, that would already be a great start :-) – Jalayn Aug 17 '11 at 20:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.