Three OCR Software Vendors Compared

by

I recently evaluated three vendors of OCR technology for a C# .NET desktop app. Basically the software needed to accurately read and report the results of scanned “bubble” tests – the kind that you took as a kid for your Iowa tests (yes I’m from the midwest) and SAT’s. In addition to reading bubbles, the software needed to accurately read barcodes, OCR or printed characters (the test takers name) and ICR or hand-written characters (for hand-written answers).

The vendors that I evaluated were as follows:

Pegasus Accusoft
Leadtools
ABBYY

All three of these vendors have huge software packages. I was impressed by the range of features their sales reps described. Demos worked like a charm. The sales teams were friendly and eager.

Unfortunately, problems arose as we delved down into the details. It seems that every vendor uses a set of cherry-picked forms to put on a good show, but if you commit to a format before picking a vendor, you could be in real trouble.

I started off with Leadtools. These guys have been in the business forever, so I expected great things from them. Unfortunately, I found that their software had serious problems when it came to page alignment with our forms.  In addition, ICR barely worked (they use a third party engine which they do not control). In terms of client attention, support would take a couple days to get back to me on a regular basis, and in general it didn’t seem like they had a thorough understanding of the software. It was always “I’ll need to check with the engineers about that”, which meant another two day delay. After a month (!) of back and forths it became apparent that we needed to look for a backup vendor.

In general, I was displeased with the Leadtools sample code, as well as with their API. The object structure was convoluted, the naming was incomprehensible, and the documentation was poor. The more I dug in, the more disappointed and frustrated I became.

While we were battling out the second month with Leadtools, we introduced two more vendors, Pegasus Accusoft and ABBYY. I didn’t give Accusoft a lot of attention, to be honest. I found their API to be messy and ill-organized, probably even worse than the Leadtools code. ABBYY, by comparison, had great documentation, a clear, well-organized API, and a very responsive and helpful support staff.

The more I worked with ABBYY to get our problems ironed out, the more I was impressed with their company. I kid you not, these guys were basically writing code for me. Whenever their existing samples didn’t cover a topic, they would prepare a special sample for my use (and for future customers with the same problem). Smart!

The ABBYY FineReader Engine 9.0 software fell short of in two places, but the support team was creative in coming up with solutions:

PROBLEM 1
Basically, page alignment was tricky for us because of the way our forms were built. To combat this, ABBYY asked us to anchor off some text in the upper left and lower right corners of the form. By comparing to our master form, we could determine X and Y shift and scale factors, and thereby know the coordinates of recognition zones on the page. This solution worked very well.

PROBLEM 2
The software had trouble picking up the filled bubble marks, because our forms had light gray letters (“A”, “B”, “C”, etc) within the confines of each bubble. ABBYY helped us to try several solutions, but eventually they gave us some code which detected a filled bubble based on the black pixel count within the recognition zone. This solution worked very well and boosted our accuracy to well over 99%.

Overall, I would highly recommend ABBYY and will definitely go to them if I have a need in the future. The API was a dream to use – naming was clear and there was a lot of thought put into the object hierarchy.

Several months after the project was completed, I received an email from Leadtools indicating that they had just made some enhancements that could help with our “issue”. Too little too late.

6 Comments

  1. It sounds like you were recognizing pre-designed forms. If this is the case, you should have used the Forms Recognition toolkit from Lead tools and not the general OCR demos. We have used it in the past and I know it automatically accounts for scaling, alignment, and dpi. The example that ships with the toolkit basically did everything we needed, and the sample code in the docs had everything else. We actually didn’t even need to contact support to get up and running on that particular project. I have worked with them on other projects however and they have always been quick and knowledgeable for us.

  2. GoodOCR.com is an online application of optical character recognition for English. The only limitation is the file to upload cannot exceed 2MB, which is more than enough for family use!

Leave a Reply

Your email address will not be published. Required fields are marked *