Creating an OCR application - where should I begin?

simpleonline12

New member
Sep 29, 2009
191
3
0
I am starting to REALLY get the hang of programming (but still have a lot to learn). I am moving on up the ladder and now I'm ready to take on OCR (optical character recognition). I know there are few apps out there but they don't really solve any captcha's so to speak.

Does anyone know where I can find some documentation on to learn where to start learning OCR?

Thanks
 


I wouldn't jump straight in with the aim of just 'OCR'.

Learn about image manipulation first, work on removing and detecting backgrounds / colours, finding edges of letters and other useful techniques. The hard part isn't feeding the characters into OCR, it's cleaning up the image enough so that the OCR library recognises it.

Here's a few bookmarks I have that came up when I searched 'captcha' in my bookmarks folder. No idea whether they will be useful to your or not, didn't bother to check. Have a scan through, likely something will be useful.

Python OCR… or how to break CAPTCHAs « C
Decoding CAPTCHA's
Always Move Fast - Cracking CAPTCHAs for Fun and Profit
PWNtcha
 
I wouldn't jump straight in with the aim of just 'OCR'.

Learn about image manipulation first, work on removing and detecting backgrounds / colours, finding edges of letters and other useful techniques. The hard part isn't feeding the characters into OCR, it's cleaning up the image enough so that the OCR library recognises it.

Here's a few bookmarks I have that came up when I searched 'captcha' in my bookmarks folder. No idea whether they will be useful to your or not, didn't bother to check. Have a scan through, likely something will be useful.

Python OCR… or how to break CAPTCHAs « C
Decoding CAPTCHA's
Always Move Fast - Cracking CAPTCHAs for Fun and Profit
PWNtcha

Vote ban for useful information ;)
 
Vote ban for useful information ;)

vote ban for misleading location information:

96tfih9m0055.png
 
Echo what everyone else said. The steps to solving CAPTCHAs are conveniently incremental in difficulty, so focus on learning the first steps first. That is, basic image manipulation, how to filter background noise, how to split up the characters. Then focus on normalizing the characters (filling in blanks, removing lines, rotating). Then focus on recognizing them (up to you...lots of creative methods here).

SlightlyShady (xmcp, founder of whatrunswhere) had some great posts on this way back in the day:

How To: De-Rotate Captcha Images : Slightly Shady SEO
XMCP’s How To:Basic Captcha Cracking Techniques Part 1 : Slightly Shady SEO
Exploring and Breaking the Google Captcha : Slightly Shady SEO

Another post, with a bunch of other links... How to break captchas (warning: old content)
 
Echo what everyone else said. The steps to solving CAPTCHAs are conveniently incremental in difficulty, so focus on learning the first steps first. That is, basic image manipulation, how to filter background noise, how to split up the characters. Then focus on normalizing the characters (filling in blanks, removing lines, rotating). Then focus on recognizing them (up to you...lots of creative methods here).

SlightlyShady (xmcp, founder of whatrunswhere) had some great posts on this way back in the day:

How To: De-Rotate Captcha Images : Slightly Shady SEO
XMCP’s How To:Basic Captcha Cracking Techniques Part 1 : Slightly Shady SEO
Exploring and Breaking the Google Captcha : Slightly Shady SEO

Another post, with a bunch of other links... How to break captchas (warning: old content)
 
The majority of OCR makes use of machine learning techniques, a lot of them use neural networks.

Start playing around with SNNS, which stands for the Stuttgart Neural Network Simulator. It's a great tool with a low barrier to entry which will allow you to experiment with a bunch of different networks, allow you to setup and train new networks and then export them as C code, etc...

I've never tried to do OCR on captcha's, if you are really trying to do that then you get into all sorts of issues that require filtering out all the junk good captcha's use. This is where things get even more difficult.
 
The majority of OCR makes use of machine learning techniques, a lot of them use neural networks.

Start playing around with SNNS, which stands for the Stuttgart Neural Network Simulator. It's a great tool with a low barrier to entry which will allow you to experiment with a bunch of different networks, allow you to setup and train new networks and then export them as C code, etc...

I've never tried to do OCR on captcha's, if you are really trying to do that then you get into all sorts of issues that require filtering out all the junk good captcha's use. This is where things get even more difficult.

CCNBook/Sims/Perception/Objrec - Computational Cognitive Neuroscience Wiki

Thats a lesson from a machine learning class I took. The problem will walk you threw how to do object recognition by using the V1, V4, and InferTemperal Cortex. It uses Emergent which is written under C++ and Perl, all open sourced.

gl hf