c# - remarks - Reconocer números en imágenes.
remarks c# (1)
He estado buscando recursos para el reconocimiento de números en imágenes en la web. Encontré muchos enlaces que proporcionan muchos recursos sobre ese tema. Pero desafortunadamente es más confuso que ayudar, no sé por dónde empezar.
Tengo una imagen con 5 números, sin molestias (sin captcha o algo así). Los números son negros sobre un fondo blanco, escritos en una fuente estándar.
Mi primer paso fue separar los números. El algoritmo que utilizo actualmente es bastante simple, solo comprueba si una columna es completamente blanca y, por lo tanto, un espacio. Luego recorta cada carácter, de modo que no haya un borde blanco alrededor. Esto funciona bastante bien.
Pero ahora estoy atascado con el reconocimiento real del número. No sé cuál es la mejor manera de adivinar la correcta. No creo que compararlo directamente con la fuente sea una buena idea, porque si los números solo difieren un poco, no funcionará más.
¿Podría alguien darme una pista sobre cómo se hace esto?
No importa la pregunta, pero implementaré esto en C # o Java. Encontré algunas bibliotecas que harían el trabajo, pero me gustaría implementarlo yo mismo, para aprender algo.
¿Por qué no considerar el uso de un motor OCR de código abierto como Tesseract?
http://code.google.com/p/tesseract-ocr/
C # Envoltura para Tesseract
http://www.pixel-technology.com/freeware/tessnet2/
Java Wrapper para Tesseract
http://sourceforge.net/projects/tessocrinjava/
Si bien es posible que no considere utilizar una biblioteca de terceros como implementarla usted mismo, hay una gran cantidad de trabajo que implica solo integrar la herramienta de terceros. Tenga en cuenta también que algo que puede parecer simple (reconocer el número 5 frente al número 6) suele ser muy complejo; Estamos hablando de miles y miles de líneas de código complejo. En lo más mínimo, mire el código fuente de tesseract y le dará una buena razón para querer aprovechar una biblioteca de terceros.
Aquí hay otra pregunta SO que le dará algunas ideas acerca de los algoritmos involucrados: https://.com/questions/850717/what-are-some-popular-ocr-algorithms