Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Buscar texto en imagen

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Lun Jul 14, 2008 11:34 am
teco000
Perlero Nuevo
Perlero Nuevo
Registrado: 29 May 2008
Mensajes: 33
Ubicación: Guatemala
Buscar texto en imagen Responder citando

Saludos, con una molestia, necesito hacer un programa que busque texto dentro de una imagen tif, debido a que contamos con más de 2 millones de imágenes está difícil hacerlo a mano, ¿alguien sabe de alguna función o alguna manera de hacerlo en Perl? Shocked
Mensaje Lun Jul 14, 2008 1:13 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1366
Ubicación: México
Responder citando

Hola:

Lo quieres hacer es conocido como OCR. Aunque comúnmente es relacionado con algo que ha sido procesado por un scanner, básicamente es sacar texto de un archivo de imagen.

En Perl encontré algunos módulos que podrían servirte. Para empezar intentaría con OCR::PerfectCR.

Si no, hay otros módulos que podrías intentar:
http://search.cpan.org/search?query=OCR&mode=all


Saludos
Mensaje Lun Jul 14, 2008 2:26 pm
teco000
Perlero Nuevo
Perlero Nuevo
Registrado: 29 May 2008
Mensajes: 33
Ubicación: Guatemala
Responder citando

Gracias kidd, voy a verlos.
Mensaje Jue Jul 17, 2008 3:41 pm
teco000
Perlero Nuevo
Perlero Nuevo
Registrado: 29 May 2008
Mensajes: 33
Ubicación: Guatemala
Responder citando

Hola, les mando el código de un simple programa que busca texto en una imagen escaneada, por si les sirve a alguien

Perl:
#!/usr/bin/perl -w
use Image::OCR::Tesseract 'get_ocr';

my $dir=$ARGV[0];
my $texto=$ARGV[1];
my $image;
opendir(FD, $dir) or die ("Can't open ./ directory");
foreach $image (readdir(FD))
{

    $_ = $image;
    if (/gr7200710120253_B.tif/) {
        print "$image \n";
        $_ = get_ocr($dir.$image);
        print $_;       
        if ( /$texto/ ) {

            print"$image $text \n";
        }
    }
}
close(FD);
Mensaje Jue Jul 17, 2008 4:16 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

¿Es necesario hacer un bucle para decodificar un solo fichero? Smile
Mensaje Jue Jul 17, 2008 4:20 pm
teco000
Perlero Nuevo
Perlero Nuevo
Registrado: 29 May 2008
Mensajes: 33
Ubicación: Guatemala
Responder citando

jajajaja, perdón, estaba probando y no lo quité
Mensaje Jue Jul 17, 2008 6:43 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1366
Ubicación: México
Responder citando

Impresionante las cosas que puedes hacer con Perl ¿no creen?
Mensaje Jue Jul 17, 2008 6:50 pm
OzX
Perlero Nuevo
Perlero Nuevo
Registrado: 14 Jul 2008
Mensajes: 8
Responder citando

Pero ¿existe algún módulo u algunos parámetros para poder leer pixel a pixel una imagen? ¿Para poder crear un OCR?

Por que he buscado y no he visto ningún manual que haga referencia a aquello.

¡Saludos!
Mensaje Vie Jul 18, 2008 2:34 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4034
Ubicación: Valladolid, España
Responder citando

Con el paquete PerlMagick (Image::Magick) sí que se puede saber el valor de cada pixel.
Mensaje Lun Jul 21, 2008 5:28 pm
creating021
Vive para Perl en Español
Vive para Perl en Español
Registrado: 23 Feb 2006
Mensajes: 474
Ubicación: Frente al monitor
Responder citando

Aparte de PerlMagick, se puede usar otros módulos (pure-perl) como Image::XPM para dicho trabajo Wink

Claro, eso depende del formato que quieras usar.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group