2011-12-20 35 views
7

He buscado en la red, ya que soy un poco n00b en lo que respecta a OCR, y no estoy seguro de dónde sería un buen punto de partida. ser.Cómo leer programáticamente un documento escaneado o una imagen

Me gustaría crear una aplicación que pueda identificar el & conteo, por ejemplo, cuántas casillas de verificación se completan en una fila determinada de documento/imagen (podría ser otro formato si alguien sabe algo que sería mejor integrar una aplicación de este tipo). el objetivo final es eliminar la captura manual de datos y acelerar el proceso de obtención de las estadísticas generales para el usuario final de la aplicación

código en C# principalmente, por lo que una solución .net sería preferible, pero si no es así ' Tomaré lo que pueda conseguir.

Lo que tenía en mente era rediseñar los formularios que los usuarios completan a algo similar a esto. (disculpe el crudo arte ASCII: P) para que la persona que rellene el formulario solo tenga que verificar un valor en el papel.

   | 1 | 2 | 3 | 4 | 5 | 
Product A  | [ ] [ ] [ ] [ ] [x] |  
Product B  | [ ] [ ] [x] [ ] [ ] | 

cualquier idea sería muy apreciada

Gracias!

Respuesta

6

1) También puede consultar el motor de OCR Tesseract gratuito, pero muy capaz. Está escrito en C++, pero probablemente podría usar C# para interactuar fácilmente con él.

2) Si desea rodar su propia con procesamiento de imágenes, se podría contemplar la utilización de la biblioteca EmguCV, que es la envoltura de .NET para OpenCV.

Hubo un reciente post en la etiqueta opencv, que intentaba resolver un problema muy similar al suyo que involucraba la detección de marcas en una tarjeta de lotería.

+1

¡Gracias! (y todos los demás que respondieron) Trataré de publicar un código de muestra o algo así si lo ejecuto (si alguien está interesado) –

+0

Hola Rohan, ¿lograste que esto funcionara? – Shiva

2

Puede intentar y usar el Office MODI library.

Otras opciones son

  1. una biblioteca comercial de OCR, o
  2. implementar su propia lógica de reconocimiento de mapa de bits (que podría ser factible si usted tiene el control total sobre el diseño de lo que tiene que ser escaneada).
+0

Lástima, MODI ha quedado en desuso en Office 2010 http://technet.microsoft.com/en-us/library/cc179199.aspx. Pero hay alternativas: http://en.wikipedia.org/wiki/Microsoft_Office_Document_Imaging#Alternatives_to_MODI_for_Office_2010_Users – Strillo

2

Si todo lo que hace es buscar X en recuadros, puede imprimir el formulario en azul claro y pedir a las personas que marquen las casillas con un bolígrafo de tinta negra.

Simplemente escanee la imagen y busque los X píxeles negros. Deben ser relativamente fáciles de encontrar, en comparación con la forma azul claro. Las coordenadas particulares x, y, en la imagen escaneada se corresponderían con la respuesta y el tipo de producto, respectivamente.

2

Lo que necesita es reconocimiento de marca óptica (OMR). Si está planeando un software comercial, eche un vistazo a ABBYY FlexiCapture Engine, es un SDK para la integración de datos y tecnologías de captura de documentos en servidores, computadoras de escritorio y aplicaciones móviles. No es gratis, pero cuando se trata de negocios, puede agregar un valor serio a su producto.

También podría usar un servicio en la nube, un sitio web que le permite cargar una imagen y devolverle datos OCR.Pruebe www.ocrsdk.com, es un SDK de OCR basado en la nube lanzado recientemente por ABBYY. Ahora está en beta, por lo que es completamente gratuito. Para que el dispositivo del usuario final tenga una conexión a Internet, es completamente independiente de su elección del lenguaje de programación y de los recursos del dispositivo del usuario. Hay dos ejemplos de código .NET y Java disponibles en github.

Disclamer: trabajo @ ABBYY.

+0

Hola Nikolay, ¿cómo se compara la solución en la nube de ABBYY con la https://ocr.a9t9.com/ de Redmond para fotos de teléfonos inteligentes? (¿Hay algún sitio que pueda comparar?) –

Cuestiones relacionadas