Solved

Optical Matching/ OCR

Posted on 2011-02-14
11
1,090 Views
Last Modified: 2012-05-11
I am trying to find a API that would match two images I have and give a % similarity and also even match text on the two images being compared.
0
Comment
Question by:surajguptha
  • 6
  • 5
11 Comments
 
LVL 37

Accepted Solution

by:
TommySzalapski earned 500 total points
ID: 34891101
OpenCV is a powerful image processing library. I would recommend it for most of those types of applications. It's in C/C++. (It has a C++ wrapper, but all the real code runs in C so it's very fast).
http://opencv.willowgarage.com/wiki/

Here's an intro to doing OCR in OpenCV.
http://blog.damiles.com/?p=93

You would need to decide what makes images similar but code exists for many different options. I won't bother to post any since there are so many.
0
 
LVL 21

Author Comment

by:surajguptha
ID: 34900138
Thanks, I would like to use this in my .Net application. Is there any image processing library that is more suitable to use with .net and perhaps even written in .Net?
0
 
LVL 37

Expert Comment

by:TommySzalapski
ID: 34900244
You don't want image processing written in .NET. It's too slow. What you really want is image processing code written in C with .NET wrappers around it so you can call the routines from .NET.

Fortunately for you, you are not the only one who wanted this. Emgu CV is exactly what you are looking for I think. You can write all your code in .NET, but the behind-the-scenes code for the processing will run in efficient and fast C code.
http://www.emgu.com/wiki/index.php/Main_Page
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 21

Author Comment

by:surajguptha
ID: 34900642
It is indeed an awesome library for image processing but I will have to develop a lot of intelligence teaching this system about a ton of languages I want my software to support. Is there perhaps some other software for just OCR that is aware of a group of languages?

Thanks
0
 
LVL 37

Assisted Solution

by:TommySzalapski
TommySzalapski earned 500 total points
ID: 34900858
Tesseract-OCR is Google's open source OCR solution.
http://code.google.com/p/tesseract-ocr/
There are a lot of people working on it for many different languages and scripts.
Agian, there already exists a .NET wrapper for it called tessnet2
http://www.pixel-technology.com/freeware/tessnet2/
0
 
LVL 21

Author Comment

by:surajguptha
ID: 34902232
Thanks Tommy! It looks very promising.
I tried downloading it and when I launched the Demo application, it crashes. It was heart breaking :P
0
 
LVL 37

Expert Comment

by:TommySzalapski
ID: 34902313
Hmm... Make sure all the dlls are in the right folders (Tessnet2.dll). Probably needs to be in the same folder as the .exe or a folder referenced in your %PATH% system variable.
I assume you have the needed runtimes already installed.
0
 
LVL 21

Author Comment

by:surajguptha
ID: 34902523
Yes, I tried every combination of folder structure and tried putting the files everywhere just in case I was doing wrong. The moment I click on "OCR", the button that is supposed to convert, it crashes! No events in event viewer, nothing. Just dies.
0
 
LVL 37

Expert Comment

by:TommySzalapski
ID: 34902701
I guess the next step would be to see if you can compile a quick test project. If that works, who needs the demo? Maybe they referenced some weird runtime functions or something that your computer doesn't have.
0
 
LVL 21

Author Comment

by:surajguptha
ID: 34902773
I actually did. I took the source of the demo application and compiled it and then used the newly generated exe. But did reuse the existing .net wrapper since I did not have VC++ to recompile it on my machine.
0
 
LVL 21

Author Comment

by:surajguptha
ID: 34903270
Works fine! Had to change some folder structures!! Thats all!
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The greatest common divisor (gcd) of two positive integers is their largest common divisor. Let's consider two numbers 12 and 20. The divisors of 12 are 1, 2, 3, 4, 6, 12 The divisors of 20 are 1, 2, 4, 5, 10 20 The highest number among the c…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This video Micro Tutorial is the first in a two-part series that shows how to create and use custom scanning profiles in Nuance's PaperPort 14.5 (http://www.experts-exchange.com/articles/17490/). But the ability to create custom scanning profiles al…
This video Micro Tutorial is the second in a two-part series that shows how to create and use custom scanning profiles in Nuance's PaperPort 14.5 (http://www.experts-exchange.com/articles/17490/). But the ability to create custom scanning profiles a…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question