Due to its speed, accuracy, and wide range of applications, OCR software has become very prevalent in recent years. The users of OCR software range from government agencies to students. However, very few of these users know how OCR software works, nor do they know its history.
The first patent for OCR technology was filed in 1929 by a man named Gustav Tauschek, who is best remembered for his punchcard-based calculating machines. Of course, Tauschek's patent wasn't for OCR software, since neither computers nor software existed, but rather for a mechanical device. His optical character recognition device used a photodetector and character templates, and required exact matches between the template and the character in order to work. Obviously, his was not a very accurate OCR device, but up until recently, OCR software operated on the same basic principles as Tauschek's machine.
For most of its history, OCR software relied on algorithms that did something called matrix matching. The OCR software would compare each character in a document to a template, and in this way perform character recognition. Matrix matching has one main drawback: since it relies on comparison between document characters and set font templates, it only works on fonts of which it has templates. For this reason, most matrix matching based OCR software only works for documents written in a few fonts.
Most current OCR software, instead of using matrix matching algorithms, uses feature extraction. Feature extraction algorithms attempt to ignore the variable elements of characters and only analyze their invariable elements. For example, the capital letter 'H' always consists of two parallel vertical lines with one horizontal line connecting them. Because it only analyzes the invariable elements of characters, OCR software using feature recognition only needs one prototype, consisting of invariable elements, for each character. The biggest advantage to feature extraction based OCR software is that it works on a wide variety of fonts. ICR, which stands for intelligent character recognition and is basically OCR for handwriting, also uses advanced feature extraction algorithms.
OCR software has become extremely accurate, and generally can achieve at least 99% accuracy. Of course, accuracy depends heavily on the quality of the document on which the OCR software is being used. Clean, high resolution copies yield the best results. There is also evidence to suggest that OCR is more accurate when used on documents scanned in grayscale mode. Many OCR software products will attempt to optimize documents by deskewing and despeckling them before performing the OCR operations.
How Batch OCR Software Works
How OCR Document Automation Software Works