Pregunta ¿Cómo elijo entre Tesseract y OpenCV?


Recientemente me encontré Tesseract y OpenCV. Parece que Tesseract es un motor de OCR de pleno derecho y OpenCV se puede utilizar como marco para crear una aplicación / servicio de OCR.

Intenté usar Tesseract en algunas de mis imágenes y su precisión parece decente. Más tarde, me encontré con un muy simple tutorial sobre el uso de OpenCV para realizar OCR usando Python y quedó impresionado. En unos minutos, terminé de entrenar el sistema y su precisión era buena. Pero, por supuesto, tomar este enfoque significa que necesito entrenar mi sistema extensivamente usando un gran conjunto de entrenamiento.

Mis preguntas específicas son las siguientes:

  • ¿Cómo se elige entre Tesseract y el uso de OpenCV para construir una aplicación de OCR personalizada?
  • Hay conjuntos de datos de capacitación disponibles para Tesseract para diferentes idiomas. ¿OpenCV tiene algo similar para que yo no tenga que comenzar desde cero para lograr OCR?
  • ¿Cuál es mejor para una aplicación comercial aspirante?

¿Alguna sugerencia?

Nota: Tengo 24 horas en el área de Visión por Computadora pero estoy dispuesto a dedicar tiempo y esfuerzo para aprender los requisitos previos.


76
2017-07-15 06:07


origen


Respuestas:


  • Tesseract es un motor de OCR. Es utilizado, trabajado y financiado por Google específicamente para leer texto de imágenes, realizar segmentación básica de documentos y operar con entradas de imágenes específicas (una sola palabra, línea, párrafo, página, diccionarios limitados, etc.).

  • OpenCV, por otro lado, es una biblioteca de visión por computadora que incluye características que le permiten realizar algunas funciones de extracción y clasificación de datos. Puede crear un clasificador y clasificador de letras simple que realice OCR básico, pero no es un muy buen motor OCR (he hecho uno en Python antes desde cero. Es realmente incorrecto para la entrada que se desvía de sus datos de entrenamiento).

Si desea obtener una comprensión básica de cuán difícil es el OCR, intente con OpenCV. Tesseract es para real LOC.


65
2017-07-15 06:12



Soy el autor de ese tutorial de reconocimiento de dígitos que mencionaste, y Yo diría que eso no puede sustituir al tesseract.

Tesseract es un motor OCR realmente bueno, puede ser el mejor motor OpenSource OCR.

El tutorial que mencionaste es solo una prueba, para entender el funcionamiento más simple de OCR.

Por lo tanto, si está buscando la aplicación OCR, le recomendaría usar OpenCV para el preprocesamiento de la imagen y luego aplicar el motor tesseract.


60
2017-07-15 06:21



Los dos pueden ser complementarios. Si lees el artículo sobre OpenCV http://tesseract-ocr.googlecode.com/svn/trunk/doc/tesseracticdar2007.pdf

Resalta que "como HP desarrolló de forma independiente una tecnología de análisis de diseño de página que se usaba en productos (y por lo tanto no se lanzó para código abierto), Tesseract nunca necesitó su propio análisis de diseño de página. Por lo tanto, Tesseract asume que su entrada es una imagen binaria con regiones opcionales de texto poligonal definidas ".

Este tipo de tarea puede ser realizada por OpenCV y la imagen resultante se transfiere a Tesseract. Puede encontrar una muestra de este tipo de código en el repositorio de Git: https://github.com/Itseez/opencv_contrib/tree/master/modules/text/samples Las muestras usan las API Tesseract para hacer conversión de imagen a texto.


7
2017-11-13 01:50



OpenCV es una biblioteca para CV, utilizado para analizar y procesar imágenes en general. Tesseract es una biblioteca para LOC, que es un subconjunto especializado de CV dedicado a extraer texto de imágenes.

De OpenCV.org

..... usado para detectar y reconocer caras, identificar objetos, clasificar acciones humanas en videos, rastrear movimientos de cámara, rastrear objetos en movimiento, extraer modelos 3D de objetos, producir nubes de puntos 3D desde cámaras estéreo, unir imágenes para producir un alto imagen de resolución de una escena completa, encuentre imágenes similares de una base de datos de imágenes, elimine los ojos rojos de las imágenes tomadas con flash, siga los movimientos oculares, reconozca el paisaje y establezca marcadores para superponerlo con realidad aumentada, etc.

De Tesseract Github:

..... se puede usar directamente, o (para programadores) usando una API para extraer texto escrito, escrito a mano o escrito a partir de imágenes. Es compatible con una amplia variedad de idiomas.


0
2017-09-26 03:25