2010-07-27 9 views
8

¿Hay motores de OCR diseñados para identificar texto en imágenes capturadas en pantalla en lugar de texto escaneado? Tengo un proyecto en el que necesito recuperar e identificar texto en una aplicación, y ninguno de los motores de OCR que he probado hasta ahora se ha mostrado bien con capturas de pantalla.Motores de OCR diseñados para lectura de pantalla

Lo ideal es que el motor funcione bien con el color y con el ruido de fondo, aunque puedo hacer algunas concesiones si nada de eso está disponible.

Necesitará ser compatible con .NET; ya sea escrito en .NET o con una API de .NET-callable.

+0

¿Cuál es la diferencia entre el texto escaneado y una captura de pantalla? –

+3

El texto de la captura de pantalla está garantizado en líneas rectas, pero también en color, con ruido de fondo de color. Estoy buscando para ver si hay un motor de OCR específicamente diseñado para leer de capturas de pantalla. –

Respuesta

4

Por lo general, la tecnología de OCR está sintonizada para trabajar con texto escaneado, que es de al menos 200 ppp, sin embargo, se recomiendan 300 ppp para una calidad de OCR confiable. Por lo tanto, debe esforzarse por ajustar la configuración y todo para que funcione en texto de pantalla, que generalmente se considera de cerca de 96 ppp.

ABBYY tiene un software de captura de pantalla OCR: http://www.abbyy.com/screenshot_reader/ que demuestra que su tecnología puede funcionar bien en estas condiciones. Lo uso, simplemente funciona. Por lo tanto, es posible que desee ponerse en contacto con ABBYY para OCR SDK: http://www.abbyy.com/ocr_sdk/ (se puede utilizar desde .NET)

No es barato, pero funciona. Descargo de responsabilidad: Yo trabajo para ABBYY

+0

Gracias, lo comprobaré. =) –

+0

Esto es bueno para imágenes con menos dpi (por ejemplo, 96 dpi) - abro esta imagen de ordenación en el visor de fotos de Windows y el lector de captura de pantalla usado. Pero mi imagen es de 96 ppp y la altura es de 20000, por lo que es muy larga, en este caso hay una automatización como captura de pantalla en lugar de captura de pantalla y baja y otra vez captura de pantalla ... – SIslam

5

He encontrado Tesseract OCR para ser bastante sólido para un proyecto de código abierto. Descubrí que incluso puede leer y decodificar captchas simples, como Megaupload. Creo que con un pequeño ajuste esto podría funcionar bastante bien.

El único problema es que solo acepta imágenes TIFF sin comprimir, lo que puede ser molesto.

EDITAR: Philip Daubmeier ya encontró una integración .NET, pero a continuación se muestra el código para convertir un mapa de bits en TIFF sin comprimir.

private void ConvertBitmapToTIF(Bitmap convert) 
{ 
    ImageCodecInfo codecInfo = GetEncoderInfo("image/tiff"); 
    System.Drawing.Imaging.Encoder encodeCom = System.Drawing.Imaging.Encoder.Compression; 
    System.Drawing.Imaging.Encoder encodeBPP = System.Drawing.Imaging.Encoder.ColorDepth; 

    EncoderParameters parms = new EncoderParameters(2); 
    EncoderParameter param0 = new EncoderParameter(encodeCom, (long)EncoderValue.CompressionNone); 
    EncoderParameter param1 = new EncoderParameter(encodeBPP, 8L); 
    parms.Param[0] = param0; 
    parms.Param[1] = param1; 

    convert.Save("output.tif", codecInfo, parms); 
} 

Esto ahorra a un archivo, pero el método Bitmap.Save puede escribir en una corriente también.

+0

Integré esto en un proyecto .NET simplemente usando el ejecutable y código para convertir a TIFF sin comprimir. Puedo publicar eso aquí si fuera de ayuda. – Nate

+0

que sería genial! –

+0

Acabo de encontrar que ya hay una integración de .net: http://www.pixel-technology.com/freeware/tessnet2/ –

1

Básicamente está buscando el CAPTCHA circumvention tools que varios investigadores han intentado, algunos con éxito.

Otro enfoque sería usar algoritmos de suavizado para interpolar capturas de 96 DPI y convertirlas a 300 DPI (por ejemplo, photoshop), y luego usar herramientas estándar de OCR.

+0

No estoy buscando solucionadores de CAPTCHA, ninguno de los textos se codificará de esa manera, pero esto ayudará sin embargo. =) –

0

Utilice la primera respuesta (software OCR) y para la captura de pantalla probablemente pueda enviar un carácter PRNTSCRN (printscreen) y luego CONVERTIR el contenido del portapapeles (bmp) en un tiff.

espero que esto te ayude un poco más en tu empresa