OCR con pattern

Iniciado por arenoide, 7 Julio 2011, 22:55 PM

0 Miembros y 1 Visitante están viendo este tema.

arenoide

Hola,

Estoy haciendo un programa en C#, mediante el cual recojo en un bitmap una parte de la pantalla. Ese bitmap contiene letras que necesito pasar a un string. He buscado información, y lo que se suele usar es OCR, pero he probado ya unos cuantos y en casi todos suelen devolver alguna letra incorrecta y demás. He pensado en usar algún tipo de patrón, ya que el bitmap recoge caracteres del mismo tipo de letra siempre, y aparte no hay que rotar nada en el reconocimiento, ya que viene de la pantalla y está perfectamente colocado.

Alguien sabe de algún OCR que busque letras según un patrón que tú le des?

También he pensado en programarlo yo. Supongo que sería fácil con matrices, pero la verdad es que no estoy puesto en el tema. Alguien tiene alguna idea?

Muchas gracias de antemano

neoncyber

bueno, una forma es que utilices redes neuronales, como sabras, puedes entrenarlas y mientras mas casos tengas mejor sera el reconocimiento, pues de hecho, un OCR utiliza redes neuronales dentro de su implementacion.

Saludos
Código (python) [Seleccionar]

#!/usr/bin/python
print "Visit:"
print "http:\\donkeysharp.blogspot.com"

.::IT::.

Hombre pues déjanos unas muestras de las imágenes y para ver cómo le hacemos.
Simplemente .::IT::.

arenoide

#3
Hola de nuevo, cierto es que se me olvidaron los pantallazos xD. Aquí os adjunto alguno de cómo sería el tema:



Ese bitmap habría que pasarlo a string. Las lineas siempre van a tener la misma altura y longitud.

Había pensado en redes neuronales, pero ya que el tipo de letra siempre es el mismo, quizá haya otra forma más fácil que implementar una red neuronal.

Muchas gracias :D

neoncyber

bueno, justo me llego un newsletter de codeproject que contiene algo q te puede interesar:

http://www.codeproject.com/KB/graphics/ContourAnalysis.aspx

Saludos
Código (python) [Seleccionar]

#!/usr/bin/python
print "Visit:"
print "http:\\donkeysharp.blogspot.com"

arenoide

Muchas gracias neoncyber por la contribución  :D, a ver si descifro el código y consigo insertarlo en mi programa.