Pregunta

Estoy construyendo una aplicación iOS (tome una foto y ejecute OCR en ella) usando Tesseract (una biblioteca OCR) y funciona muy bien con números y caracteres bien escritos (usando fuentes habituales).

El problema que tengo es que si lo pruebo en una pantalla de 7 segmentos, da muy malos resultados.

Entonces mi pregunta es: ¿alguien sabe cómo puedo abordar este problema? ¿Hay alguna forma de que Tesseract reconozca a estos personajes?

¿Fue útil?

Solución

Yo también tuve una gran dificultad para que Tesseract reconozca los dígitos de las imágenes de las pantallas LCD.

Tuve algo de éxito marginal al preprocesar las imágenes con ImageMagick para superponer una copia de la imagen sobre sí misma con un ligero cambio vertical para llenar los vacíos entre segmentos:

$ composite -compose Multiply -geometry +0+3  foo.tif foo.tif foo2.png

Al final, sin embargo, mi gracia salvadora fue la "Reconocimiento de caracteres ópticos de siete segmentos"Binario: http://www.unix-ag.uni-kl.de/~uerwal/ssocr/

Muchas gracias al autor, Erik Auerswald, ¡por este código!

Otros consejos

No he probado la pantalla de 7 segmentos, pero sospecho que el problema podría ser causado por los caracteres que no son componentes conectados. Tesseract no maneja bien las fuentes desconectadas de mi experiencia.

La erosión simple (preprocesamiento de imágenes) podría ayudar conectando segmentos, pero tendría que probarla y jugar con el tamaño del núcleo para evitar demasiada distorsión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top