2011-09-06 25 views
5

Tengo una aplicación de OCR muy simple basada en Tesseract. Después del paso de reconocimiento , también proporciono un paso de verificación del usuario que permite la corrección en caso de que el OCR sea incorrecto. Para mejorar la interfaz de usuario, planeo dibujar un rectángulo encima del carácter OCR-ed en la imagen de entrada original, y ponerlo junto a la salida de OCR. Para llegar a eso, necesito la coordenada de los caracteres reconocidos.Cómo obtener coordenadas de caracteres reconocidos

he intentado algo como esto, pero parece que me diera un galimatías:

ETEXT_DESC output; 
    tess->Recognize(&output); 
    text = tess->GetUTF8Text(); 

Ahora bien, si accedo output-> recuento, me da algún valor superior a 10.000, que obviamente es incorrecto porque la imagen completa solo tiene 20 o más caracteres

¿Estoy en el camino correcto? ¿Puedo tener alguna dirección, por favor?

Respuesta

5

Tal vez sea útil obtener las coordenadas de las casillas. Prueba el ejecutable de tesseract. Utilice el comando

"tesseract.exe [imagen] [resultado] makebox"

Después de todo se obtiene las coordenadas de cada personaje, una por fila. Entonces eres capaz de comparar.

+5

¿Qué hay de llegar a esa información programáticamente? – Haoest

1

El ejecutable tesseract tiene una opción HOCR^ de caracteres de salida reconocido y sus coordiantes en html formato. Para obtener esto programáticamente, el FAQ dice que se refiera a baseapi.h.

Cuestiones relacionadas