2012-02-13 21 views
6

Soy un poco nuevo en el reconocimiento de OCR y en Python.Reconocer imágenes en Python

Lo que estoy tratando de lograr es ejecutar Tesseract desde un script de Python para 'reconocer' algunas figuras particulares en un .tif.

Pensé que podría hacer algo de entrenamiento para Tesseract pero no encontré ningún tema similar en Google y aquí en SO.

Básicamente tengo algunos .tif que contienen varias imágenes (como una "flecha", una "flor" y otros iconos), y quiero que el script imprima como salida el nombre de ese icono. Si encuentra una flecha, imprima 'flecha'.

¿Es factible?

+0

¿Has echado un vistazo a http://code.google.com/p/pytesser/? –

+0

¿Esto reconoce iconos dentro de la imagen o solo texto? ¿Hay alguna manera de entrenarlo por lo que usted sabe? – KingBOB

+0

¿Hay algún fondo detrás de las figuras? ¿Cambia su orientación, tamaño o color? Cuanta más información obtenemos mejor podemos ayudar – P2bM

Respuesta

1

Esto no es una respuesta completa, pero si hay varias imágenes en el tif y si conoce el tamaño de antemano, puede estandarizar las muestras de imagen antes de clasificarlas. Cortarías la imagen en todos los rectángulos posibles en el tif.

Así que cuando crea un clasificador (no menciono los métodos aquí), el resultado final sería una síntesis de la clasificación de todos los rectángulos más pequeños.

Por lo tanto, si se le da un tif, las imágenes de 'flecha' o 'flor' son 16px por 16px, por ejemplo, puede usar Python PIL para crear las muestras.

from PIL import Image 

image_samples = [] 

im = Image.open("input.tif") 
sample_dimensions = (16,16) 

for box in get_all_corner_combinations(im, sample_dimensions): 

    image_samples.append(im.crop(box)) 


classifier = YourClassifier() 

classifications = [] 

for sample in image_samples: 
    classifications.append (classifier (sample)) 

label = fuse_classifications (classifications) 

Una vez más, no me refiero a la etapa de aprendizaje de escribir realmente YourClassifier. Pero espero que esto ayude a explicar parte del problema.

Hay mucha investigación sobre el tema de aprender a clasificar imágenes, así como a trabajar para limpiar el ruido en las imágenes antes de clasificarlas.

Considere la posibilidad de navegar a través de esta bonita colección de bibliotecas existentes de aprendizaje automático de Python.

http://scipy-lectures.github.com/advanced/scikit-learn/index.html

hay muchas técnicas que se relacionan con las imágenes también.

Cuestiones relacionadas