Reconhecer números em imagens

Eu tenho procurado recursos para reconhecimento de número em imagens na web. Encontrei muitos links fornecendo muitos recursos sobre esse tópico. Mas, infelizmente, é mais confuso do que ajudar, não sei por onde começar.

Eu tenho uma imagem com 5 números, não perturbada (sem captcha ou algo assim). Os números são pretos em fundo branco, escritos em uma fonte padrão.

Meu primeiro passo foi separar os números. O algoritmo que uso atualmente é bastante simples, apenas verifica se uma coluna é totalmente branca e, portanto, um espaço. Depois, apara cada caractere, para que não haja borda branca ao seu redor. Isso funciona muito bem.

Mas agora estou preso ao reconhecimento real do número. Não sei qual é a melhor maneira de adivinhar a correta. Não acho que comparar diretamente com a fonte seja uma boa ideia, porque se os números diferirem um pouco, não funcionará mais.

Alguém poderia me dar uma dica de como isso é feito?

Não importa para a pergunta, mas implementarei isso em C # ou Java. Encontrei algumas bibliotecas que fariam o trabalho, mas eu gostaria de implementá-lo, para aprender alguma coisa.

questionAnswers(1)

yourAnswerToTheQuestion